WinHTTP GET запрос C ++ - PullRequest
       25

WinHTTP GET запрос C ++

2 голосов
/ 25 марта 2010

Я подойду к делу.

  • Так выглядит запрос браузера

    GET /index.html HTTP / 1.1

  • Это то, что делает winHTTP

    GET http://site.com/index.html HTTP / 1.1

Можно ли получить запрос winHTTP того же формата, что и обычный? Я использую VC ++ 2008, если это имеет какое-либо значение

1 Ответ

5 голосов
/ 29 марта 2010

Ваш код должен выглядеть так:

// Specify an HTTP server.
if (hSession)
    hConnect = WinHttpConnect( hSession, L"www.example.com",
                               INTERNET_DEFAULT_HTTP_PORT, 0);

// Create an HTTP request handle.
if (hConnect)
    hRequest = WinHttpOpenRequest( hConnect, L"GET", L"/path/resource.html",
                                   NULL, WINHTTP_NO_REFERER, 
                                   WINHTTP_DEFAULT_ACCEPT_TYPES, 
                                   WINHTTP_FLAG_SECURE);

// Send a request.
if (hRequest)
    bResults = WinHttpSendRequest( hRequest,
                                   WINHTTP_NO_ADDITIONAL_HEADERS,
                                   0, WINHTTP_NO_REQUEST_DATA, 0, 
                                   0, 0);

Можете ли вы опубликовать эти три звонка из своего кода?

Обратите внимание, что полный URL-адрес разделен на две части - имя хоста указывается в вызове WinHttpConnect, но относительный путь к ресурсу указывается в вызове WinHttpOpenRequest (в качестве параметра pwszObjectName). Судя по вашему комментарию, вы указываете полный URL в вызове WinHttpConnect.

...