Kada WinHTTP izmjenjuje 407 i 401
Sačuvajte odabrano stanje proxy autentifikacije i ponovno ga primijenite prije ponovnih pokušaja uz zaseban izazov odredišta.
WinHTTP zahtjev autentificira se na proxy, primi 401 od web stranice, a zatim pri sljedećem slanju dobije još jedan 407. Proxy i web stranica imaju odvojeno stanje autentifikacije, a put ponovnog slanja mora zadržati oboje.
Microsoftov izvorni primjer WinHTTP autentifikacije drži odabranu proxy shemu u varijabli i ponovno primjenjuje proxy račun prije svakog WinHttpSendRequest nakon što je ta shema odabrana.
- Pošaljite zahtjev i pregledajte odgovor.
- Za 407 ispitajte ponuđene sheme i zapamtite odabranu proxy shemu.
- Prije ponovnog slanja pozovite WinHttpSetCredentials za WINHTTP_AUTH_TARGET_PROXY s tom shemom i računom.
- Za 401 od odredišta nabavite njegovu shemu i postavite njegove vjerodajnice poslužitelja, zadržavajući zapamćeno proxy stanje za sljedeće slanje.
Primjer posebno navodi ponovnu autentifikaciju nakon izazova poslužitelja ili preusmjeravanja kao razlog za ponovnu primjenu proxy vjerodajnica. Postavljanje poziva samo u prvu granu za 407 može ostaviti drugi put ponovnog pokušaja bez očekivanog postavljanja.
Provjerite svaki rezultat API-ja i ograničite ponovljene neuspjehe. Microsoftov sažeti primjer prati prethodni status, dok bi produkcijska politika ponovnih pokušaja trebala prepoznati i ponovljeni izmjenični slijed.
Ako korisnik nakon neuspjeha dostavi zamjenski račun, ažurirajte vrijednosti koje taj put ponovnog slanja koristi. WinHttpSetCredentials vezan je uz zahtjev; to nije procesna pohrana zaporki čiji se sadržaj zamjenjuje za sve buduće zahtjeve.