Når en WinHTTP-anmodning har modtaget 407, skal du bruge WinHttpQueryAuthSchemes til at undersøge de tilbudte metoder og vælge en, som klienten og kontoen understøtter. Angiv legitimationsoplysningerne på den anmodning:

WinHttpSetCredentials(
    requestHandle,
    WINHTTP_AUTH_TARGET_PROXY,
    selectedScheme,
    proxyUser,
    proxyPassword,
    nullptr);

Det sidste reserverede argument skal være null. Kontroller det booleske resultat og ved fejl GetLastError. Succes betyder, at API'en accepterede indstillingen, ikke at proxyen accepterede login.

Send igen gennem et kontrolleret godkendelsesforløb og undersøg svaret. Begræns gentagelser; en allerede forbrugt anmodningstekststrøm skal kunne afspilles igen, hvis handlingen gentages. Et 401 fra destinationen bruger WINHTTP_AUTH_TARGET_SERVER, forskelligt fra dette proxymål.

Disse legitimationsoplysninger gælder for en enkelt anmodning. WinHTTP gør dem ikke til et generelt lager for legitimationsoplysninger til senere anmodninger. Genbrugte godkendte forbindelser kan midlertidigt skjule endnu en udfordring, så applikationen skal stadig håndtere fremtidige udfordringer.

Hold proxyvalget adskilt. En adressestreng med legitimationsoplysninger erstatter ikke denne request-handle-API, ligesom det ikke fuldfører godkendelsen at nå endepunktet med succes.

Relaterede artikler