विनंती हँडलवर WinHTTP प्रॉक्सी आव्हानाला उत्तर देणे
प्रॉक्सी प्रमाणीकरण लक्ष्य आणि समर्थित प्रस्तावित स्कीमसह WinHttpSetCredentials वापरा, नंतर विनंती जाणूनबुजून पुन्हा पाठवा.
WinHTTP विनंतीला 407 मिळाल्यानंतर, प्रस्तावित पद्धती तपासण्यासाठी WinHttpQueryAuthSchemes वापरा आणि क्लायंट व खाते दोन्ही समर्थन देतील अशी एक निवडा. त्या विनंतीवर क्रेडेन्शियल्स सेट करा:
WinHttpSetCredentials(
requestHandle,
WINHTTP_AUTH_TARGET_PROXY,
selectedScheme,
proxyUser,
proxyPassword,
nullptr);
शेवटचा राखीव आर्ग्युमेंट null असला पाहिजे. बूलियन निकाल आणि अपयशाच्या वेळी GetLastError तपासा. यशाचा अर्थ API ने सेटिंग स्वीकारली, असा होतो; प्रॉक्सीने लॉगिन स्वीकारले असा नाही.
नियंत्रित प्रमाणीकरण प्रवाहातून पुन्हा पाठवा आणि प्रतिसाद तपासा. पुनर्प्रयत्न मर्यादित ठेवा; क्रिया पुन्हा केल्यास आधीच वापरलेला विनंती-बॉडी स्ट्रीम पुन्हा चालवता आला पाहिजे. गंतव्याचा 401 WINHTTP_AUTH_TARGET_SERVER वापरतो, जो या प्रॉक्सी लक्ष्यापेक्षा वेगळा आहे.
ही क्रेडेन्शियल्स एकाच विनंतीवर लागू होतात. WinHTTP त्यांना पुढील विनंत्याांसाठी सामान्य क्रेडेन्शियल भांडार बनवत नाही. पुनर्वापर केलेली प्रमाणीकृत कनेक्शन्स दुसरे आव्हान तात्पुरते लपवू शकतात, म्हणून अॅप्लिकेशनने भविष्यातील आव्हानेही हाताळली पाहिजेत.
प्रॉक्सी निवड वेगळी ठेवा. क्रेडेन्शियल्स असलेली पत्ता-शृंखला या विनंती-हँडल API ची जागा घेत नाही, जसे एंडपॉइंटपर यशस्वीपणे पोहोचणे प्रमाणीकरण पूर्ण करत नाही.