Besvara en WinHTTP-proxyutmaning på request-handlen
Använd WinHttpSetCredentials med proxyautentiseringens mål och ett stödt erbjudet schema och försök sedan igen med begäran avsiktligt.
När en WinHTTP-begäran har fått 407 använder du WinHttpQueryAuthSchemes för att granska de erbjudna metoderna och välja en som klienten och kontot stöder. Ange autentiseringsuppgifterna på den begäran:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Det sista reserverade argumentet måste vara null. Kontrollera det booleska resultatet och vid fel GetLastError. Framgång innebär att API:t accepterade inställningen, inte att proxyn accepterade inloggningen.
Skicka igen genom ett kontrollerat autentiseringsflöde och granska svaret. Begränsa upprepningarna; en redan förbrukad begärans kroppsström måste kunna spelas upp igen om åtgärden upprepas. Ett 401 från målet använder WINHTTP_AUTH_TARGET_SERVER, till skillnad från detta proxymål.
Dessa autentiseringsuppgifter gäller för en enda begäran. WinHTTP gör dem inte till ett allmänt lager för autentiseringsuppgifter för senare begäranden. Återanvända autentiserade anslutningar kan tillfälligt dölja en annan utmaning, så programmet måste fortfarande hantera framtida utmaningar.
Håll proxyvalet åtskilt. En adresssträng med autentiseringsuppgifter ersätter inte detta request-handle-API, precis som att nå slutpunkten framgångsrikt inte slutför autentiseringen.