mark一下!
#include <windows.h> #include <WinInet.h> #include <string> using namespace std; #pragma comment(lib,"wininet.lib") char* GetUrl2(const char* strName,char* strObject) { HINTERNET hSession = ::InternetOpen("MSDN SurfBear", PRE_CONFIG_INTERNET_ACCESS, NULL, INTERNET_INVALID_PORT_NUMBER, 0) ; // Connect to www.microsoft.com. HINTERNET hConnect = ::InternetConnect(hSession, strName, INTERNET_INVALID_PORT_NUMBER, "", "", INTERNET_SERVICE_HTTP, 0, 0) ; // Request the file /MSDN/MSDNINFO/ from the server. HINTERNET hHttpFile = ::HttpOpenRequest(hConnect, "GET", strObject, HTTP_VERSION, NULL, 0, INTERNET_FLAG_DONT_CACHE, 1); // Send the request. BOOL bSendRequest = ::HttpSendRequest(hHttpFile, NULL, 0, 0, 0); // Get the length of the file. char bufQuery[32] ; DWORD dwLengthBufQuery = sizeof(bufQuery); BOOL bQuery = ::HttpQueryInfo(hHttpFile, HTTP_QUERY_CONTENT_LENGTH,bufQuery,&dwLengthBufQuery,NULL) ; // Convert length from ASCII string to a DWORD. DWORD dwFileSize = (DWORD)atol(bufQuery) ; if (dwFileSize <= 2) { return 0; } // Allocate a buffer for the file. char* buffer = new char[dwFileSize+1] ; ZeroMemory(buffer,0,sizeof(buffer)); // Read the file into the buffer. DWORD dwBytesRead ; BOOL bRead = ::InternetReadFile(hHttpFile, buffer, dwFileSize+1, &dwBytesRead); // Put a zero on the end of the buffer. buffer[dwBytesRead] = 0 ; return buffer; }
调用 GetUrl2("www.hao123.com","/task.asp?uid=123");