winhttp GET demande C ++
-
22-09-2019 - |
Question
Je vais aller droit au point.
-
est ce que la demande de navigateur ressemble
GET /index.html HTTP / 1.1
-
est ce que winhttp fait
http://site.com/index.html HTTP / 1.1
Y at-il que je peux obtenir la demande winhttp être le même format que celui régulier? J'utilise VC ++ 2008 si cela fait une différence
La solution
Votre code devrait ressembler à ceci:
// 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);
Pouvez-vous envoyer ces trois appels à partir de votre code?
Notez que l'URL complète est divisé en deux - le nom d'hôte est spécifié dans l'appel de WinHttpConnect
, mais le chemin de la ressource relative est spécifié dans l'appel de WinHttpOpenRequest
(comme le paramètre pwszObjectName
). Sur la base de votre commentaire, il semble que vous indiquez l'URL complète dans l'appel WinHttpConnect
.