使用MFC获取网页源代码:
void CXXXDlg::VisitWebsite(CString strURL, CString &strHTML) // strURL 网址;strHTML 输出网页源代码
{
if (strURL.Left(7) != "http://")
strURL.Format(_T("http://%s"), strURL);
CInternetSession session(_T("HttpClient")); // 定义网络连接Session
TCHAR *url = (LPTSTR)(LPCTSTR)strURL;
CHttpFile* pfile = (CHttpFile *)session.OpenURL(url); // 定义一个文件指针
DWORD dwStatusCode;
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
CString content;
CString data;
while (pfile -> ReadString(data))
{
content += data ;
}
char *pch;
pch = new char[content.GetLength() * sizeof(TCHAR)+ 1];
memcpy(pch, content,content.GetLength() * sizeof(TCHAR));
content = UTF8ToUnicode(pch);
//AfxMessageBox(content);
strHTML = content;
}
pfile -> Close();
delete pfile;
session.Close();
}
CS