Kur WinHTTP alternon midis 407 dhe 401
Ruani gjendjen e zgjedhur të vërtetimit të proksit dhe rizbatojeni përpara riprovave, duke trajtuar veçmas sfidën e destinacionit.
Një kërkesë WinHTTP vërtetohet në proksi, merr 401 nga një faqe interneti dhe më pas merr edhe një 407 në dërgimin e radhës. Proksi dhe faqja kanë gjendje të veçanta vërtetimi, dhe rruga e ridërgimit duhet t'i ruajë të dyja.
Shembulli origjinal i vërtetimit WinHTTP i Microsoft-it mban skemën e proksit të zgjedhur në një variabël dhe rizbaton llogarinë e proksit përpara çdo WinHttpSendRequest pasi ajo skemë është zgjedhur.
- Dërgoni kërkesën dhe shqyrtoni përgjigjen.
- Për një 407, pyesni skemat e ofruara dhe mbani mend skemën e proksit të zgjedhur.
- Përpara ridërgimit, therrnitni WinHttpSetCredentials për WINHTTP_AUTH_TARGET_PROXY me atë skemë dhe llogari.
- Për një 401 nga destinacioni, merrni skemën e tij dhe vendosni kredencialet e serverit duke ruajtur gjendjen e proksit të mbajtur mend për dërgimin e radhës.
Shembulli vë në dukje posaçërisht rivërtetimin pas një sfide të serverit ose ridrejtimi si arsye për të rizbatuar kredencialet e proksit. Vendosja e thirrjes vetëm në degën e parë 407 mund të lërë një rrugë tjetër riprovimi pa konfigurimin e pritur.
Kontrolloni çdo rezultat të API-së dhe mbani të kufizuara dështimet e përsëritura. Shembulli kompakt i Microsoft-it gjurmon gjendjen e mëparshme, ndërsa një politikë prodhimi për riprova duhet të njohë edhe një sekuencë të përsëritur alternative.
Nëse përdoruesi jep një llogari zëvendësuese pas një dështimi, përditësoni vlerat që përdor ajo rrugë ridërgimi. WinHttpSetCredentials është në shkallë kërkese; nuk është një depo fjalëkalimesh në nivel procesi, përmbajtja e së cilës zëvendësohet për të gjitha kërkesat e ardhshme.