Одговор на предизвикот на WinHTTP прокси на рачката за барање
Користете WinHttpSetCredentials со целта за автентикација на прокси и поддржана понудена шема, потоа намерно повторете го барањето.
Откако барање на WinHTTP ќе добие 407, користете WinHttpQueryAuthSchemes за да ги прегледате понудените методи и да изберете еден што го поддржуваат клиентот и сметката. Поставете ги акредитивите на тоа барање:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Последниот резервиран аргумент мора да биде null. Проверете го буловскиот резултат и при неуспех GetLastError. Успехот значи дека API-то ја прифатило поставката, а не дека проксито го прифатило најавувањето.
Испратете повторно преку контролиран тек на автентикација и прегледајте го одговорот. Ограничете ги повторувањата; веќе искористениот тек на телото на барањето мора да може повторно да се репродуцира ако операцијата се повтори. Одговорот 401 од одредиштето користи WINHTTP_AUTH_TARGET_SERVER, различно од оваа прокси цел.
Овие акредитиви важат за едно барање. WinHTTP не ги прави општо складиште на акредитиви за подоцнежни барања. Повторно користените автентицирани врски можат привремено да скријат друг предизвик, па апликацијата мора и понатаму да се справува со идните предизвици.
Држете го изборот на прокси одделно. Низата адреса што носи акредитиви не го заменува ова API за рачка на барање, исто како што успешното стигнување до крајната точка не ја завршува автентикацијата.