अनुरोध ह्यान्डलमा 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 प्रतिस्थापन गर्दैन, जसरी एन्डप्वाइन्टमा सफलतापूर्वक पुग्नुले प्रमाणीकरण पूरा गर्दैन।