先使用InternetOpen初始化WinINet函数,然后在使用InternetOpenUrl打开指定链接,最后就用InternetReadFile就能读取到网页源代码.
下面的代码能够打开并且将网页源代码打印出来.#include#include #include #pragma comment(lib,"Wininet.lib") #include using namespace std; int main(int argc, char* argv[]) { vector v; CHAR szUrl[] = "http://www.baidu.com/"; CHAR szAgent[] = ""; HINTERNET hInternet1 = InternetOpen(NULL,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,NULL); if (NULL == hInternet1) { InternetCloseHandle(hInternet1); return FALSE; } HINTERNET hInternet2 = InternetOpenUrl(hInternet1,szUrl,NULL,NULL,INTERNET_FLAG_NO_CACHE_WRITE,NULL); if (NULL == hInternet2) { InternetCloseHandle(hInternet2); InternetCloseHandle(hInternet1); return FALSE; } DWORD dwMaxDataLength = 500; PBYTE pBuf = (PBYTE)malloc(dwMaxDataLength*sizeof(TCHAR)); if (NULL == pBuf) { InternetCloseHandle(hInternet2); InternetCloseHandle(hInternet1); return FALSE; } DWORD dwReadDataLength = NULL; BOOL bRet = TRUE; do { ZeroMemory(pBuf,dwMaxDataLength*sizeof(TCHAR)); bRet = InternetReadFile(hInternet2,pBuf,dwMaxDataLength,&dwReadDataLength); for (DWORD dw = 0;dw < dwReadDataLength;dw++) { v.push_back(pBuf[dw]); } } while (NULL != dwReadDataLength); vector ::iterator i; for(i=v.begin(); i!=v.end(); i++) printf("%c",*i); return 0; }