Odpověď na výzvu proxy WinHTTP na handle požadavku
Použijte WinHttpSetCredentials s cílem ověření proxy a podporovaným nabízeným schématem a poté požadavek záměrně zopakujte.
Poté, co požadavek WinHTTP obdrží 407, použijte WinHttpQueryAuthSchemes k prozkoumání nabízených metod a vyberte tu, kterou podporuje klient i účet. Nastavte přihlašovací údaje na tento požadavek:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Poslední rezervovaný argument musí být null. Zkontrolujte logický výsledek a při selhání GetLastError. Úspěch znamená, že API nastavení přijalo, ne že proxy přijala přihlášení.
Odešlete znovu řízeným ověřovacím tokem a prozkoumejte odpověď. Omezte opakování; již spotřebovaný tok těla požadavku musí být znovu přehratelný, pokud se operace opakuje. Odpověď 401 od cíle používá WINHTTP_AUTH_TARGET_SERVER, na rozdíl od tohoto cíle proxy.
Tyto přihlašovací údaje platí pro jediný požadavek. WinHTTP z nich nedělá obecné úložiště přihlašovacích údajů pro pozdější požadavky. Znovu použité ověřené spojení může dočasně skrýt další výzvu, takže aplikace musí i nadále zvládat budoucí výzvy.
Udržujte volbu proxy odděleně. Řetězec adresy s přihlašovacími údaji nenahrazuje toto API handle požadavku, stejně jako úspěšné dosažení koncového bodu nedokončuje ověření.