第一个方法是使用MFC里面的
CString GetHttpFileData(CString strUrl)
{
CInternetSession Session("Internet Explorer", 0);
CHttpFile *pHttpFile = NULL;
CString strData;
CString strClip;
pHttpFile = (CHttpFile*)Session.OpenURL(strUrl);
while ( pHttpFile->ReadString(strClip) )
{
strData += strClip;
}
return strData;
}
要讲一下,pHttpFile->ReadString() 每次可能只读一个数据片断,读多少次取决于网络状况,所以要把每次读到的数据加到总数据的尾部,用了CString 省去了缓冲区处理:)
别忘了包含头文件#include 在工程设置,里面要选择 using MFC 要不然编译不了
第二种是使用WinNet的纯API实现的
#define MAXBLOCKSIZE 1024
#include
#include
#pragma comment(lib, "wininet.lib")
void GetWebSrcCode(const char *Url);
int _tmain(int argc, _TCHAR* argv[])
{
GetWebSrcCode("https://ww