WinHTTP proksi chaqiruviga so'rov dastagida javob berish
WinHttpSetCredentials funksiyasini proksi autentifikatsiyasi maqsadi va qo'llab-quvvatlanadigan taklif etilgan sxema bilan ishlatib, so'ng so'rovni ataylab qayta urinib ko'ring.
WinHTTP so'rovi 407 olgandan so'ng, taklif etilgan usullarni ko'rib chiqish uchun WinHttpQueryAuthSchemes dan foydalaning va mijoz hamda hisob qo'llab-quvvatlaydigan birini tanlang. Ushbu so'rovga hisob ma'lumotlarini o'rnating:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Oxirgi zaxiralangan argument null bo'lishi kerak. Mantiqiy natijani va muvaffaqiyatsizlikda GetLastError ni tekshiring. Muvaffaqiyat API sozlamani qabul qilganini bildiradi, proksi tizimga kirishni qabul qilganini emas.
Nazorat qilinadigan autentifikatsiya oqimi orqali qayta yuboring va javobni tekshiring. Qayta urinishlarni cheklang; amal takrorlansa, avval iste'mol qilingan so'rov tanasi oqimi qayta ijro etilishi kerak. Manzilning 401 javobi WINHTTP_AUTH_TARGET_SERVER dan foydalanadi, bu esa ushbu proksi maqsadidan farq qiladi.
Bu hisob ma'lumotlari faqat bitta so'rovga tegishli. WinHTTP ularni keyingi so'rovlar uchun umumiy hisob ma'lumotlari omboriga aylantirmaydi. Qayta ishlatilgan autentifikatsiyalangan ulanishlar boshqa chaqiruvni vaqtincha yashirishi mumkin, shuning uchun dastur kelgusi chaqiruvlarni ham qayta ishlashi kerak.
Proksi tanlovini alohida saqlang. Hisob ma'lumotlarini olib yuruvchi manzil satri ushbu so'rov dastagi API sini almashtirmaydi, xuddi oxirgi nuqtaga muvaffaqiyatli yetib borish autentifikatsiyani tugatmagani kabi.