首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

WININET GET得到header 后少了几行数据的小疑点

2013-02-19 
WININET GET得到header 后少了几行数据的小问题数据抓包结果如下HTTP/1.1 200 OKExpires: Thu, 01-Jan-197

WININET GET得到header 后少了几行数据的小问题
数据抓包结果如下
HTTP/1.1 200 OK
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: XISESSIONID=t5w7tgdyrcluc8yyedlxjuax;Path=/robot
Content-Type: text/plain; charset=utf-8
Content-Length: 183

__webrobot__processOpenResponse({"robotId":"webbot","userId":"5e1b057f8fd14ee5908f648e535f5633","sessionId":"78eed3c9147e4c2f87dbbc5a54a5e9e1","type":"openresp","body":{"status":1}});

CString header("");
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF ,header,0);

header结果却是 
HTTP/1.1 200 OK
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Set-Cookie: XISESSIONID=t5w7tgdyrcluc8yyedlxjuax;Path=/robot
Content-Type: text/plain; charset=utf-8
Content-Length: 183


后面的那两行不见了  求坛友看看是什么问题
[解决办法]
有错吗?你是得到header啊,你已经得到了header了,后面的不是header了。
[解决办法]
如何通过VC的 CHttpFile 抓取网页内容 [2009-6-30 13:08:02]

在点击一个按钮时开始请求你输入的地址。

void CHttpFileDlg::OnButton1() 
{
   CString url;
   GetDlgItemText(IDC_EDIT1,url); // IDC_EDIT1 是一个输入框的名字。
   char* headers="Accept:*/*\r\nAccept-Language:zh-cn\r\nUser-Agent:VCTestClient\r\n";
   CInternetSession Sess;
   CHttpFile* cFile = (CHttpFile*)Sess.OpenURL(url,1,INTERNET_FLAG_TRANSFER_ASCII
[解决办法]
INTERNET_FLAG_RELOAD,headers,strlen(headers));
   DWORD dwStatusCode;
   cFile->QueryInfoStatusCode(dwStatusCode);
   if(dwStatusCode == HTTP_STATUS_OK)
   {
     CString szData,szAllData;
     while(cFile->ReadString(szData))
     {
       szAllData += szData;
       szAllData += "\r\n";
     }
     cFile->Close();
     Sess.Close();
     CString name = GetFileName(url,TRUE);
     CFile file(name, CFile::modeCreate 
[解决办法]
 CFile::modeWrite);
     file.Write(szAllData,szAllData.GetLength());
     file.Close();
   }
   else
   {
     MessageBox("请求失败。。。。");
   }
}

热点排行