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.

Povezani članci