Kiam WinHTTP alternas inter 407 kaj 401
Konservu la elektitan prokurilan aŭtentigan staton kaj reaplikigu ĝin antaŭ ripetoj, dum vi traktas apartan celan defion.
WinHTTP-peto aŭtentiĝas ĉe la prokurilo, ricevas la 401 de retejo, kaj poste ricevas alian 407 en la sekva sendo. La prokurilo kaj la retejo havas apartajn aŭtentigajn statojn, kaj la resenda vojo devas konservi ambaŭ.
La originala WinHTTP-aŭtentiga ekzemplo de Microsoft tenas la elektitan prokurilan skemon en variablo kaj reaplikigas la prokurilan konton antaŭ ĉiu WinHttpSendRequest post kiam tiu skemo elektiĝis.
- Sendu la peton kaj ekzamenu la respondon.
- Por 407, demandu la proponitajn skemojn kaj memoru la elektitan prokurilan skemon.
- Antaŭ resendi, voku WinHttpSetCredentials por WINHTTP_AUTH_TARGET_PROXY kun tiu skemo kaj konto.
- Por 401 de la celo, akiru ĝian skemon kaj agordu ĝiajn servilajn akreditaĵojn, konservante la memoritan prokurilan staton por la sekva sendo.
La ekzemplo specife notas reaŭtentigon post servila defio aŭ alidirektado kiel kialon por reaplikigi la prokurilajn akreditaĵojn. Meti la vokon nur en la unua 407-branĉo povas lasi alian ripetvojon sen la atendata agordo.
Kontrolu ĉiun API-rezulton kaj limigu ripetajn malsukcesojn. La kompakta ekzemplo de Microsoft spuras la antaŭan staton, dum produktada ripetpolitiko ankaŭ devus rekoni ripetan alternan sinsekvon.
Se la uzanto provizas anstataŭan konton post malsukceso, ĝisdatigu la valorojn uzatajn de tiu resenda vojo. WinHttpSetCredentials estas petoskopa; ĝi ne estas procesampleksa pasvorta konservejo kies enhavo anstataŭiĝas por ĉiuj estontaj petoj.