不知道是哪里出的問題,小網站獲取只可以獲取到,但是想百度,qq這些官網,都是回傳200但是沒有任何資料內容,我的編碼是unicode,以下是代碼,求大神幫幫我啊。急求!
CString ChuomaoDlg::httpGetRequest(CString url)
{
CInternetSession m_InetSession;
CString strHtml;
BOOL b = InternetSetOption(m_InetSession, INTERNET_OPTION_RESET_URLCACHE_SESSION, NULL, 0);
try {
CHttpFile* pFile = (CHttpFile*)m_InetSession.OpenURL(url);
if (pFile != NULL)
{
DWORD statusCode;
pFile->QueryInfoStatusCode(statusCode);
if (statusCode == HTTP_STATUS_OK)
{
MessageBox(_T("ok"));
TCHAR buf[1024] = { 0 };
char tmp[2048] = { 0 };
while (pFile->ReadString(buf, 1024))
{
for (int i = 0, j = 0; i<lstrlen(buf); i++, j += 2)
{
tmp[j] = LOBYTE(buf[i]);//取字的低位元組
tmp[j + 1] = HIBYTE(buf[i]);//取字的高位元組
}
CString ss(tmp);
strHtml += ss;
}
}
}
m_InetSession.Close();
pFile->Close();
delete pFile;
}
catch (CInternetException* e) {
TCHAR info[1024] = { 0 };
e->GetErrorMessage(info, 1024);
}
catch (CMemoryException* e)
{
TCHAR info[1024] = { 0 };
e->GetErrorMessage(info, 1024);
}
catch (CFileException* e)
{
TCHAR info[1024] = { 0 };
e->GetErrorMessage(info, 1024);
}
catch (CException* e)
{
TCHAR info[1024] = { 0 };
e->GetErrorMessage(info, 1024);
}
return strHtml;
}
uj5u.com熱心網友回復:
百度和qq都是https的吧uj5u.com熱心網友回復:
http://blog.csdn.net/daiyutage/article/details/9567779 MFC決議網頁原始碼uj5u.com熱心網友回復:
注意,這個不是亂碼的問題,是獲取值為空,我在公網的服務器里打開自己的專案沒問題,但是打開百度,qq這種就會出現獲取值為空,但是連接是成功的。是header頭設定被他們以為是機器屏蔽掉了嗎?uj5u.com熱心網友回復:
應該是被識別出請求不是合法請求,所以沒有回傳內容。
可以自己對比一下你的header資訊跟瀏覽器的header
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/116846.html
標籤:網絡編程
上一篇:串口Readfile的兩個問題
