Een WinHTTP-proxyuitdaging op de request-handle beantwoorden
Gebruik WinHttpSetCredentials met het proxy-authenticatiedoel en een ondersteund aangeboden schema en probeer het verzoek daarna bewust opnieuw.
Nadat een WinHTTP-verzoek 407 heeft ontvangen, gebruikt u WinHttpQueryAuthSchemes om de aangeboden methoden te inspecteren en er een te kiezen die de client en het account ondersteunen. Stel de referenties in op dat verzoek:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Het laatste gereserveerde argument moet null zijn. Controleer het Booleaanse resultaat en bij een fout GetLastError. Succes betekent dat de API de instelling heeft geaccepteerd, niet dat de proxy de aanmelding heeft geaccepteerd.
Verstuur opnieuw via een gecontroleerde authenticatiestroom en inspecteer de respons. Beperk het aantal nieuwe pogingen; een al verbruikte stream van de verzoekbody moet opnieuw afspeelbaar zijn als de bewerking wordt herhaald. Een 401 van de bestemming gebruikt WINHTTP_AUTH_TARGET_SERVER, anders dan dit proxydoel.
Deze referenties gelden voor één verzoek. WinHTTP maakt er geen algemene opslag van referenties voor latere verzoeken van. Hergebruikte geauthenticeerde verbindingen kunnen een andere uitdaging tijdelijk verbergen, dus de toepassing moet toekomstige uitdagingen nog steeds afhandelen.
Houd de proxyselectie gescheiden. Een adresreeks met referenties vervangt deze request-handle-API niet, net zoals het met succes bereiken van het eindpunt de authenticatie niet voltooit.