|
- std::string HttpGet(std::string strUrl)
- {
- HINTERNET hINet, hHttpFile;
- hINet = InternetOpenA("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); //InternetOpen初始化WININET.DLL
- if (!hINet)
- {
- return "";
- }
- hHttpFile = InternetOpenUrlA(hINet, strUrl.c_str(), NULL, 0, 0, 0); //这个函数连接到一个网络服务器上并且最被从服务器上读取数据
- if (!hHttpFile)
- {
- InternetCloseHandle(hINet);
- return "";
- }
-
- std::string revData="";
- DWORD dwBytesRead;
- //web浏览器将在InternetReadFile上循环 ,不停地从Internet上读入数据块。
- while(TRUE)
- {
- char lpBuffer[1024] = {};
- BOOL bRead = InternetReadFile(hHttpFile, &lpBuffer, sizeof(lpBuffer)-1, &dwBytesRead);
- if (bRead == false || dwBytesRead == 0)
- break;
- revData += (std::string)lpBuffer;
- }
- InternetCloseHandle(hHttpFile); //关闭句柄
- InternetCloseHandle(hINet);
- return revData;
- }
复制代码
问题:读了一部分,但未读完整。
|
|