ეს 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 შეცდომა.

დაკავშირებული სტატიები