Når WinHTTP vekslar mellom 407 og 401
Hald på den valde autentiseringstilstanden for proxyen og bruk han på nytt før nye forsøk, medan ei eiga utfordring frå målet vert handsama.
Ein WinHTTP-førespurnad autentiserer mot proxyen, får 401 frå ein nettstad og får deretter endå ein 407 ved neste sending. Proxyen og nettstaden har kvar sin autentiseringstilstand, og vidaresendingsvegen må halde på båe.
Det opphavlege WinHTTP-autentiseringseksempelet frå Microsoft held det valde proxy-skjemaet i ein variabel og brukar proxy-kontoen på nytt før kvar WinHttpSendRequest etter at skjemaet er valt.
- Send førespurnaden og gransk svaret.
- Ved 407: spør etter skjemaala som vert tilbodne og hugse det valde proxy-skjemaet.
- Før vidaresending, kall WinHttpSetCredentials for WINHTTP_AUTH_TARGET_PROXY med det skjemaet og den kontoen.
- Ved 401 frå målet: hent skjemaet og set påloggingsinformasjonen til tenaren, medan den hugsa proxy-tilstanden vert halden på for neste sending.
Eksempelet nemner uttrykkeleg reautentisering etter ei tenarutfordring eller omdirigering som grunn til å bruke proxy-påloggingsinformasjonen på nytt. Vert kallet berre plassert i den fyrste 407-greina, kan ein annan nytt-forsøk-veg stå att utan det venta oppsettet.
Kontroller kvar API-resultat og hald gjentekne feil innanfor grenser. Det kompakte eksempelet frå Microsoft spor den førre statusen, medan ein produksjonsretrypolitikk òg bør kjenne att ein gjenteken vekslande sekvens.
Viss brukaren oppgir ein erstatningskonto etter ein feil, oppdater verdiane som den vidaresendingsvegen brukar. WinHttpSetCredentials er førespurnadsbunden; det er ikkje eit prosessomfattande passordlager der innhaldet vert erstatta for alle framtidige førespurnader.