WinHTTP zahtev se autentifikuje na proxy, primi 401 od veb stranice, a zatim pri sledećem slanju dobije još jedan 407. Proxy i veb stranica imaju odvojeno stanje autentifikacije, a put ponovnog slanja mora zadržati oba.

Microsoftov izvorni primer WinHTTP autentifikacije drži izabranu proxy šemu u promenljivoj i ponovo primenjuje proxy nalog pre svakog WinHttpSendRequest nakon što je ta šema izabrana.

  1. Pošaljite zahtev i pregledajte odgovor.
  2. Za 407 ispitajte ponuđene šeme i zapamtite izabranu proxy šemu.
  3. Pre ponovnog slanja pozovite WinHttpSetCredentials za WINHTTP_AUTH_TARGET_PROXY sa tom šemom i nalogom.
  4. Za 401 od odredišta nabavite njegovu šemu i postavite njegove akreditive servera, zadržavajući zapamćeno proxy stanje za sledeće slanje.

Primer posebno navodi ponovnu autentifikaciju nakon izazova servera ili preusmeravanja kao razlog za ponovnu primenu proxy akreditiva. Postavljanje poziva samo u prvu granu za 407 može ostaviti drugi put ponovnog pokušaja bez očekivanog podešavanja.

Proverite svaki rezultat API-ja i ograničite ponovljene neuspehe. Microsoftov sažeti primer prati prethodni status, dok bi produkcijska politika ponovnih pokušaja trebalo da prepozna i ponovljeni naizmenični sled.

Ako korisnik nakon neuspeha dostavi zamenski nalog, ažurirajte vrednosti koje taj put ponovnog slanja koristi. WinHttpSetCredentials vezan je za zahtev; to nije procesna ostava zaporki čiji se sadržaj zamenjuje za sve buduće zahteve.

Povezani članci