使用winhttp使用不支持的HTTP版本发送http请求

时间:2018-02-20 07:15:28

标签: c++ winhttp

我知道WinHttpOpenRequest指定了应用程序用于与服务器通信的HTTP的版本

如果我使用不支持的 HTTP版本发送请求,我想了解服务器的行为方式。但该功能会自动将版本更改为 HTTP / 1.1 。文档中没有提到我们只能使用特定版本。

#include <serverutils.h>

void main()
{
    HINTERNET hSession=NULL,hRequest=NULL,hConnect=NULL;
    BOOL bResults=FALSE;

    hSession = WinHttpOpen(L"Sample Program", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYPASS, 0 );

    if(hSession)
    {
        hConnect = WinHttpConnect(hSession,L"172.21.206.60",8080,0);
    }

    if(hConnect)
    {
        hRequest = WinHttpOpenRequest(hConnect,L"GET",L"/",L"HTTP/1.3" ,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);
    }

    getRequestHeaders(hRequest);

    _getch();

}

无论如何,我可以使用不受支持的HTTP版本发送请求吗?如果WinHTTP不支持此功能,其他任何库都会这样做吗?

0 个答案:

没有答案