এই 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 ত্রুটি যাচাই করুন।

সম্পর্কিত নিবন্ধ