ServerXMLHTTP setProxy: मोड 1 सीधा कनेक्शन चुनता है
ServerXMLHTTP का सही प्रॉक्सी-मोड कॉन्स्टेंट उपयोग करें और बायपास सूची को वैकल्पिक प्रॉक्सी एंडपॉइंट से अलग रखें।
यह VBA कॉल ऐसा लगता है कि proxyServer में संग्रहीत प्रॉक्सी चुन रहा है:
http.setProxy 1, proxyServer, bypassList
MSXML ServerXMLHTTP के लिए पहला आर्ग्युमेंट प्रॉक्सी मोड चुनता है। प्रलेखित मान 0 डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए, 1 सीधे कनेक्शन के लिए और 2 स्पष्ट रूप से दिए गए प्रॉक्सी के लिए हैं। 1 के बाद पता देना सीधे मोड को मैनुअल प्रॉक्सी मोड नहीं बनाता।
मैनुअल प्रॉक्सी का न्यूनतम उदाहरण यह है:
Dim http As Object
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.setProxy 2, "proxy.example:8080", "<local>"
http.Open "GET", "https://example.com/", False
http.send
उदाहरण का एंडपॉइंट एक प्लेसहोल्डर है। सार्वजनिक प्रॉक्सी जाँच के लिए इसे HTTP प्रॉक्सी सूची से किसी HTTP पते से बदलें। तीसरा आर्ग्युमेंट बायपास सूची है; यहाँ <local> प्रलेखित स्थानीय-नाम अपवाद का उपयोग करता है। यह दूसरा प्रॉक्सी नहीं है जिसे पहला विफल होने पर आज़माया जाए। इसलिए वहाँ किसी अन्य प्रॉक्सी का IP और पोर्ट रखना गलत प्रकार की सेटिंग व्यक्त करता है।
जहाँ आपके VBA संदर्भ नामित कॉन्स्टेंट उपलब्ध कराते हैं वहाँ उनका उपयोग करें, या लेट बाइंडिंग उपयोग करते समय संबंधित कॉन्स्टेंट को स्थानीय रूप से परिभाषित करें, ताकि समीक्षा के दौरान मोड दिखाई दे।
ऑब्जेक्ट का प्रकार भी ध्यान में रखें। ServerXMLHTTP, ब्राउज़र-केंद्रित XMLHTTP और WinHttpRequest भिन्न COM इंटरफ़ेस हैं। एक के लिए काम करने वाला उदाहरण दूसरे का कॉन्फ़िगरेशन स्रोत सिद्ध नहीं करता। सही ऑब्जेक्ट द्वारा मैनुअल प्रॉक्सी मोड चुनने के बाद उस मार्ग पर बची किसी भी कनेक्शन, प्रमाणीकरण या TLS त्रुटि की जाँच करें।