Одговор на 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 ручке захтева, као што ни успешан долазак до одредишта не довршава проверу.