winhttp Anfrage C ++ GET
-
22-09-2019 - |
Frage
Ich werde gleich auf den Punkt kommen.
-
Dies ist, was ein Browser-Anfrage aussieht wie
GET /index.html HTTP / 1.1
-
Dies ist, was winhttp tut
http://site.com/index.html HTTP / 1.1
Gibt es ein Ich kann die winhttp Anfrage bekommt das gleiche Format wie die regulären zu sein? Ich bin mit VC ++ 2008, wenn es einen Unterschied
machtLösung
Der Code sollte wie folgt aussehen:
// 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);
Können Sie diese drei Anrufe von Ihrem Code posten?
Beachten Sie, dass die vollständige URL in zwei Teile gespalten ist - der Host-Name in dem WinHttpConnect
Aufruf festgelegt ist, aber der relative Ressourcenpfad in dem WinHttpOpenRequest
Aufruf (als pwszObjectName
Parameter) angegeben. Basierend auf Ihrem Kommentar, es scheint, dass Sie die vollständige URL in dem WinHttpConnect
Aufruf angeben.