CInternetSession session(NULL, 0);
CHttpFile * phttp = NULL; CString m_WebSrc;
CString tempstr; phttp = (CHttpFile*) session.OpenURL("http://www.163.com"); if (phttp != NULL)
TRACE("URL open suceed\r\n\r\n"); while(phttp->ReadString(tempstr))
{ m_WebSrc += "\r\n";
m_WebSrc += tempstr;
}
TRACE("%s", (LPCTSTR)m_WebSrc); phttp->Close;
session.Close;显示网页源代码只有一小部分. 这是为什么呀, 有没有哪位大侠遇到过这样的问题
CHttpFile * phttp = NULL; CString m_WebSrc;
CString tempstr; phttp = (CHttpFile*) session.OpenURL("http://www.163.com"); if (phttp != NULL)
TRACE("URL open suceed\r\n\r\n"); while(phttp->ReadString(tempstr))
{ m_WebSrc += "\r\n";
m_WebSrc += tempstr;
}
TRACE("%s", (LPCTSTR)m_WebSrc); phttp->Close;
session.Close;显示网页源代码只有一小部分. 这是为什么呀, 有没有哪位大侠遇到过这样的问题
应该是下载的内容太长了,用TRACE显示不全。你可以保存成文本看一下。
这里给你一个下载网页的函数吧。//****************************************************************************************//
//函数 GetWebContent
//主要功能: Get方式下载网页
//参数列表:
//返回值:
//备注:
//****************************************************************************************//
CString GetWebContent(CString strURL)
{
CString strSentence;
CString Filecontent;
CInternetSession sess;//Create session
CHttpFile* fileGet;
CException* e = NULL;
TRY
{
fileGet=(CHttpFile*)sess.OpenURL(strURL);//Open file
}
CATCH_ALL(e)
{
fileGet = 0;
}
END_CATCH_ALL if(fileGet)
{
DWORD dwStatus;
DWORD dwBuffLen = sizeof(dwStatus);
BOOL bSuccess = fileGet->QueryInfo(
HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,
&dwStatus, &dwBuffLen); if( bSuccess && dwStatus>= 200&& dwStatus<300 )
{
while(fileGet->ReadString(strSentence))
Filecontent += strSentence;
}// if bSuccess.
fileGet->Close();
delete fileGet;
}
else
{
TRACE0("对不起,连接超时,无法打开站点!");
Filecontent = "";
}
sess.Close();
return Filecontent;
}
但就是m_WebSrc内容不变, 就是说tempstr没有加入到m_WebSrc中, 不知道是为什么呀, 谢谢