Odgovor na WinHTTP proxy izazov na ručki zahtjeva
Koristite WinHttpSetCredentials s ciljem proxy provjere i podržanom ponuđenom shemom, a zatim namjerno ponovite zahtjev.
Nakon što WinHTTP zahtjev primi 407, upotrijebite WinHttpQueryAuthSchemes da pregledate ponuđene metode i odaberete onu koju podržavaju klijent i račun. Postavite vjerodajnice na taj zahtjev:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Posljednji rezervirani argument mora biti null. Provjerite Booleov rezultat i pri neuspjehu GetLastError. Uspjeh znači da je API prihvatio postavku, a ne da je proxy prihvatio prijavu.
Ponovno pošaljite kroz kontrolirani tok provjere i pregledajte odgovor. Ograničite ponavljanja; već potrošeni tok tijela zahtjeva mora se moći ponovno reproducirati ako se radnja ponovi. Odgovor 401 odredišta koristi WINHTTP_AUTH_TARGET_SERVER, različito od ovog proxy cilja.
Ove vjerodajnice vrijede za jedan zahtjev. WinHTTP ih ne pretvara u opću pohranu vjerodajnica za kasnije zahtjeve. Ponovno korištene provjerene veze mogu privremeno sakriti drugi izazov, pa aplikacija i dalje mora obrađivati buduće izazove.
Držite odabir proxyja odvojeno. Adresni niz s vjerodajnicama ne zamjenjuje ovaj API ručke zahtjeva, kao što ni uspješan dolazak do odredišta ne dovršava provjeru.