zoukankan      html  css  js  c++  java
  • winhttp简单用法(2)get

    #include <string>
    #include <iostream>
    #include <windows.h>
    #include <winhttp.h> 
    #pragma comment(lib,"winhttp.lib")
    #pragma comment(lib,"user32.lib")
    
    
    void main()
    {
    
    	
        DWORD dwSize = 0;
    	DWORD dwDownloaded = 0;
    	LPSTR pszOutBuffer = NULL;
    	HINTERNET  hSession = NULL,
    			   hConnect = NULL,
    			   hRequest = NULL;
    
    	BOOL  bResults = FALSE;
    
    	hSession=WinHttpOpen(L"User Agent",WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYPASS,0);
    
    	if(hSession)
    	{
    		hConnect=WinHttpConnect(hSession,L"192.168.0.8",INTERNET_DEFAULT_HTTP_PORT,0);
    	}
    
    	if(hConnect)
    	{
    		hRequest=WinHttpOpenRequest(hConnect, L"GET",L"login.html",L"HTTP/1.1", WINHTTP_NO_REFERER,WINHTTP_DEFAULT_ACCEPT_TYPES,0);
    	}
    
    	if(hRequest)
    	{
    		bResults=WinHttpSendRequest(hRequest,WINHTTP_NO_ADDITIONAL_HEADERS, 0,WINHTTP_NO_REQUEST_DATA, 0, 0, 0 );
    	}
    
    	if(bResults)
    	{
    		bResults=WinHttpReceiveResponse(hRequest,NULL);
    
    	}
    	
    	if(bResults)
    	{
    		do
    		{
    			// Check for available data.
    
    			 dwSize = 0;
    
    			 if (!WinHttpQueryDataAvailable( hRequest, &dwSize))
    			 {
    				 printf( "Error %u in WinHttpQueryDataAvailable.\n",GetLastError());
    
    				 break;
    			 }
    
    			 if (!dwSize)
    				 break;
    
    			  pszOutBuffer = new char[dwSize+1];
    
    			  if (!pszOutBuffer)
    			  {
    				   printf("Out of memory\n");
    				break;
    			  }
    
    			   ZeroMemory(pszOutBuffer, dwSize+1);
    
    			   if (!WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,  dwSize, &dwDownloaded))
    			   {
    				     printf( "Error %u in WinHttpReadData.\n", GetLastError());
    			   }
    			   else
    			   {
    				   printf("%s", pszOutBuffer);
    			   }
    
    			   delete [] pszOutBuffer;
    
    			   if (!dwDownloaded)
    				   break;
    
    		} while (dwSize > 0);
    	}
    	
    	
    
        if (hRequest) WinHttpCloseHandle(hRequest);
        if (hConnect) WinHttpCloseHandle(hConnect);
        if (hSession) WinHttpCloseHandle(hSession);
    
    	
    
    	 system("pause");
    
    
    }
    
  • 相关阅读:
    DHCP脚本
    7.31
    7.30
    7.26
    7.24
    VLAN与三层交换机
    静态路由配置
    7.17
    四次挥手
    TCP三次握手,四次挥手
  • 原文地址:https://www.cnblogs.com/ytjjyy/p/2480361.html
Copyright © 2011-2022 走看看