Kapag WinHTTP ay halinhinang nagbabalik ng 407 at 401
Panatilihin ang napiling estado ng pagpapatotoo sa proxy at muling ilapat ito bago mag-ulit, habang hiwalay na hinahawakan ang hamon mula sa destinasyon.
Ang isang kahilingang WinHTTP ay nagpapatotoo sa proxy, tumatanggap ng 401 mula sa isang website, at pagkatapos ay nakakakuha ng isa pang 407 sa susunod na pagpapadala. May magkahiwalay na estado ng pagpapatotoo ang proxy at ang website, at kailangang panatilihin ng landas ng muling pagpapadala ang dalawa.
Pinapanatili ng orihinal na halimbawa ng pagpapatotoo ng WinHTTP ng Microsoft ang napiling scheme ng proxy sa isang variable at muling inilalapat ang account ng proxy bago ang bawat WinHttpSendRequest matapos mapili ang scheme na iyon.
- Ipadala ang kahilingan at suriin ang tugon.
- Para sa 407, tanungin ang mga iniaalok na scheme at tandaan ang napiling scheme ng proxy.
- Bago muling magpadala, tawagan ang WinHttpSetCredentials para sa WINHTTP_AUTH_TARGET_PROXY gamit ang scheme at account na iyon.
- Para sa 401 mula sa destinasyon, kunin ang scheme nito at itakda ang mga kredensyal ng server habang pinapanatili ang natandaan na estado ng proxy para sa susunod na pagpapadala.
Partikular na binabanggit ng halimbawa ang muling pagpapatotoo pagkatapos ng hamon ng server o pag-redirect bilang dahilan para muling ilapat ang mga kredensyal ng proxy. Kung ang tawag ay ilalagay lamang sa unang sangay ng 407, may isa pang landas ng muling pagsubok na maiiwang walang inaasahang setup.
Suriin ang bawat resulta ng API at panatilihing may hangganan ang paulit-ulit na pagkabigo. Sinusubaybayan ng maikling halimbawa ng Microsoft ang naunang estado, samantalang ang patakaran sa muling pagsubok sa produksiyon ay dapat ding makilala ang paulit-ulit na halinhinang pagkakasunod-sunod.
Kung magbigay ang gumagamit ng kapalit na account pagkatapos ng pagkabigo, i-update ang mga halagang ginagamit ng landas ng muling pagpapadala na iyon. Ang WinHttpSetCredentials ay saklaw ng kahilingan; hindi ito imbakan ng password sa antas ng proseso na ang nilalaman ay pinapalitan para sa lahat ng susunod na kahilingan.