Odgovor na izziv proxyja WinHTTP na ročaju zahteve
Uporabite WinHttpSetCredentials s ciljem preverjanja pristnosti proxyja in podprto ponujeno shemo, nato zahtevo namerno ponovite.
Ko zahteva WinHTTP prejme 407, uporabite WinHttpQueryAuthSchemes za pregled ponujenih metod in izberite eno, ki jo podpirata odjemalec in račun. Nastavite poverilnice na tej zahtevi:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Zadnji rezervirani argument mora biti null. Preverite logični rezultat in ob neuspehu GetLastError. Uspeh pomeni, da je API sprejel nastavitev, ne pa da je proxy sprejel prijavo.
Znova pošljite prek nadzorovanega toka preverjanja pristnosti in pregledajte odgovor. Omejite ponovitve; že porabljen tok telesa zahteve mora biti mogoče znova predvajati, če se operacija ponovi. Odgovor 401 od cilja uporablja WINHTTP_AUTH_TARGET_SERVER, drugače od tega cilja proxyja.
Te poverilnice veljajo za eno zahtevo. WinHTTP jih ne spremeni v splošno shrambo poverilnic za poznejše zahteve. Ponovno uporabljene preverjene povezave lahko začasno skrijejo drugo zahtevo za preverjanje, zato mora aplikacija še naprej obravnavati prihodnje izzive.
Izbiranje proxyja naj bo ločeno. Niz naslova s poverilnicami ne nadomesti tega API-ja ročaja zahteve, tako kot uspešen doseg končne točke ne zaključi preverjanja pristnosti.