Svar på en WinHTTP-proxyutfordring på forespørselshåndtaket
Bruk WinHttpSetCredentials med proxygodkjenningens mål og en støttet tilbudt metode, og prøv deretter forespørselen på nytt med vilje.
Etter at en WinHTTP-forespørsel har fått 407, bruk WinHttpQueryAuthSchemes for å undersøke de tilbudte metodene og velge én som klienten og kontoen støtter. Angi legitimasjonen på den forespørselen:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Det siste reserverte argumentet må være null. Kontroller det boolske resultatet og ved feil GetLastError. Suksess betyr at API-et godtok innstillingen, ikke at proxyen godtok påloggingen.
Send på nytt gjennom en kontrollert godkjenningsflyt og undersøk svaret. Begrens gjentakelser; en allerede brukt forespørselstekststrøm må kunne spilles av på nytt hvis operasjonen gjentas. En 401 fra målet bruker WINHTTP_AUTH_TARGET_SERVER, forskjellig fra dette proxymålet.
Denne legitimasjonen gjelder for én enkelt forespørsel. WinHTTP gjør dem ikke til et generelt lager for legitimasjon for senere forespørsler. Gjenbrukte godkjente tilkoblinger kan midlertidig skjule en annen utfordring, så applikasjonen må fortsatt håndtere fremtidige utfordringer.
Hold proxyvalget atskilt. En adressestreng med legitimasjon erstatter ikke dette forespørselshåndtak-API-et, slik det heller ikke fullfører godkjenningen å nå endepunktet med suksess.