WinHTTP GET-запрос C++
-
22-09-2019 - |
Вопрос
Я перейду сразу к делу.
Так выглядит запрос браузера
ПОЛУЧИТЬ /index.html HTTP/1.1
Это то, что делает winHTTP
ПОЛУЧАТЬ http://site.com/index.html HTTP/1.1
Могу ли я сделать запрос winHTTP того же формата, что и обычный?Я использую VC++ 2008, если это имеет значение
Решение
Ваш код должен выглядеть так:
// 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
вызов.
Не связан с StackOverflow