WinHTTP 407 ба 401 хооронд ээлжлэн шилжих үед
Сонгосон прокси баталгаажуулалтын төлөвийг хадгалж, дахин оролдохын өмнө дахин хэрэглэх ба зорьсон газрын тусдаа сорилтыг тусад нь шийдвэрлэнэ.
WinHTTP хүсэлт проксид баталгаажиж, вэбсайтын 401-ийг хүлээн авч, дараа нь дараагийн илгээлтэд дахин 407 авдаг. Прокси болон вэбсайт нь тусдаа баталгаажуулалтын төлөвтэй бөгөөд дахин илгээх зам нь хоёуланг нь хадгалах шаардлагатай.
Microsoft-ын анхны WinHTTP баталгаажуулалтын жишээ нь сонгосон прокси схемийг хувьсагчид хадгалж, тухайн схем сонгогдсоны дараа WinHttpSendRequest бүрийн өмнө прокси бүртгэлийг дахин хэрэглэдэг.
- Хүсэлтийг илгээж, хариу үйлдлийг шалга.
- 407-д санал болгосон схемийг асууж, сонгосон прокси схемийг сана.
- Дахин илгээхийн өмнө тухайн схем, бүртгэлээр WINHTTP_AUTH_TARGET_PROXY-д зориулж WinHttpSetCredentials дууд.
- Зорьсон газрын 401-д түүний схемийг авч, серверийн итгэмжлэлийг тогтоож, дараагийн илгээлтэд санасан прокси төлөвийг хадгал.
Жишээ нь серверийн сорилт эсвэл дахин чиглүүлэлтийн дараах дахин баталгаажуулалтыг прокси итгэмжлэлийг дахин хэрэглэх шалтгаан гэж онцгой дурддаг. Дуудлагыг зөвхөн эхний 407 салбарт байрлуулбал өөр дахин оролдлогын зам хүлээгдэж буй тохиргоогүй үлдэж болно.
API-ын үр дүн бүрийг шалгаж, давтагдсан алдааг хязгаарла. Microsoft-ын авсаархан жишээ өмнөх төлөвийг хянадаг бол үйлдвэрлэлийн дахин оролдлогын бодлого давтагдсан ээлжлэх дарааллыг мөн таних ёстой.
Алдааны дараа хэрэглэгч орлуулах бүртгэл өгвөл тухайн дахин илгээх замд хэрэглэгдэх утгуудыг шинэчил. WinHttpSetCredentials нь хүсэлтэд хамаарах бөгөөд ирээдүйн бүх хүсэлтэд агуулга нь солигддог процессын түвшний нууц үгийн сан биш юм.