Þegar WinHTTP skiptist á milli 407 og 401
Geymdu valda auðkenningarstöðu milliþjónsins og notaðu hana aftur fyrir endurtilraunir, á meðan tekið er á sérstakri áskorun áfangastaðar.
WinHTTP-beiðni auðkennir sig við milliþjóninn, fær 401 frá vefsvæði og fær svo aðra 407 í næstu sendingu. Milliþjónninn og vefsvæðið hafa aðskilda auðkenningarstöðu, og endursendingarleiðin þarf að varðveita báðar.
Upprunalega WinHTTP-auðkenningardæmið frá Microsoft geymir valda milliþjónsskemað í breytu og beitir milliþjónsreikningnum aftur fyrir hverja WinHttpSendRequest eftir að skemað hefur verið valið.
- Sendu beiðnina og skoðaðu svarið.
- Fyrir 407 skaltu spyrja um boðin skemu og muna valda milliþjónsskemað.
- Fyrir endursendingu skaltu kalla WinHttpSetCredentials fyrir WINHTTP_AUTH_TARGET_PROXY með því skema og reikningi.
- Fyrir 401 frá áfangastað skaltu fá skema hans og setja skilríki þjónsins, en geyma minnkaða milliþjónsstöðu fyrir næstu sendingu.
Dæmið nefnir sérstaklega endurauðkenningu eftir áskorun þjóns eða endurbeiningu sem ástæðu til að beita milliþjónsskilríkjunum aftur. Ef kallið er aðeins sett í fyrsta 407-klæðinn getur önnur endurtilraunarleið orðið eftir án væntrar uppsetningar.
Athugaðu hvert API-niðurstöðu og haltu endurteknum mistökum innan marka. Þjappað dæmi Microsoft fylgir fyrri stöðu, en framleiðslustefna um endurtilraunir ætti einnig að þekkja endurtekið skiptandi röð.
Ef notandinn gefur varareikning eftir mistök skaltu uppfæra gildin sem sú endursendingarleið notar. WinHttpSetCredentials er beiðnistengt; það er ekki lykilorðageymsla á ferlisstigi sem innihald er skipt út fyrir allar framtíðarbeiðnir.