Vastamine WinHTTP puhverserveri väljakutsele päringu käepidemel
Kasutage WinHttpSetCredentials funktsiooni puhverserveri autentimise sihtmärgi ja toetatud pakutava skeemiga ning seejärel korrake päringut teadlikult.
Kui WinHTTP päring saab 407, kasutage WinHttpQueryAuthSchemes, et uurida pakutavaid meetodeid ja valida üks, mida klient ja konto toetavad. Määrake sellele päringule volitusandmed:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Viimane reserveeritud argument peab olema null. Kontrollige tõeväärtusega tulemust ja ebaõnnestumise korral GetLastError. Edu tähendab, et API võttis seade vastu, mitte et puhverserver võttis sisselogimise vastu.
Saatke uuesti kontrollitud autentimisvoo kaudu ja uurige vastust. Piirake kordusi; juba ära kasutatud päringu keha voog peab olema kordamise korral uuesti esitatav. Sihtkoha 401 kasutab WINHTTP_AUTH_TARGET_SERVER, mis erineb sellest puhverserveri sihtmärgist.
Need volitusandmed kehtivad ühe päringu jaoks. WinHTTP ei tee neist üldist volitusandmete hoidlat hilisemate päringute jaoks. Uuesti kasutatud autenditud ühendused võivad teise väljakutse ajutiselt peita, seega peab rakendus tulevasi väljakutseid siiski käsitlema.
Hoidke puhverserveri valik eraldi. Volitusandmeid kandev aadressistring ei asenda seda päringu käepideme API-t, nagu ka lõpp-punkti edukas saavutamine ei lõpeta autentimist.