İstek tanıtıcısında WinHTTP proxy sorgulamasını yanıtlama
WinHttpSetCredentials'i proxy kimlik doğrulama hedefi ve desteklenen sunulan şema ile kullanın, ardından isteği bilerek yeniden deneyin.
Bir WinHTTP isteği 407 aldıktan sonra, sunulan yöntemleri incelemek için WinHttpQueryAuthSchemes kullanın ve istemci ile hesabın desteklediği birini seçin. Kimlik bilgilerini o isteğe ayarlayın:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
Son ayrılmış bağımsız değişken null olmalıdır. Boole sonucunu ve başarısızlık durumunda GetLastError değerini denetleyin. Başarı, API'nin ayarı kabul ettiği anlamına gelir; proxy'nin oturum açmayı kabul ettiği anlamına gelmez.
Denetlenen bir kimlik doğrulama akışıyla yeniden gönderin ve yanıtı inceleyin. Yeniden denemeleri sınırlayın; işlem yinelenirse daha önce tüketilmiş istek gövdesi akışı yeniden oynatılabilir olmalıdır. Hedefin 401 yanıtı WINHTTP_AUTH_TARGET_SERVER kullanır ve bu proxy hedefinden farklıdır.
Bu kimlik bilgileri tek bir istek için geçerlidir. WinHTTP bunları sonraki istekler için genel bir kimlik bilgisi deposu yapmaz. Yeniden kullanılan kimliği doğrulanmış bağlantılar başka bir sorgulamayı geçici olarak gizleyebilir, bu nedenle uygulama gelecekteki sorgulamaları yine de işlemelidir.
Proxy seçimini ayrı tutun. Kimlik bilgisi taşıyan bir adres dizesi bu istek tanıtıcısı API'sinin yerini almaz; tıpkı uç noktaya başarıyla ulaşmanın kimlik doğrulamayı tamamlamaması gibi.