WinHTTP zahtjev se autentifikuje 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 oba.

Microsoftov izvorni primjer WinHTTP autentifikacije drži odabranu proxy šemu u varijabli i ponovno primjenjuje proxy račun prije svakog WinHttpSendRequest nakon što je ta šema odabrana.

  1. Pošaljite zahtjev i pregledajte odgovor.
  2. Za 407 ispitajte ponuđene šeme i zapamtite odabranu proxy šemu.
  3. Prije ponovnog slanja pozovite WinHttpSetCredentials za WINHTTP_AUTH_TARGET_PROXY s tom šemom i računom.
  4. Za 401 od odredišta nabavite njegovu šemu 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 je vezan za zahtjev; to nije procesna pohrana zaporki čiji se sadržaj zamjenjuje za sve buduće zahtjeve.

Povezani članci