Bu VBA çağrısı proxyServer içinde saklanan proxy'yi seçiyor gibi görünüyor:

http.setProxy 1, proxyServer, bypassList

MSXML ServerXMLHTTP için ilk bağımsız değişken proxy modunu seçer. Belgelenen değerler varsayılan yapılandırma için 0, doğrudan bağlantı için 1 ve açıkça verilen proxy için 2'dir. 1'den sonra adres vermek doğrudan modu el ile proxy moduna çevirmez.

El ile proxy'nin en küçük örneği şudur:

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

Örnekteki uç nokta bir yer tutucudur. Genel proxy denetimi için bunu HTTP proxy listesinden bir HTTP adresiyle değiştirin. Üçüncü bağımsız değişken bir atlama listesidir; burada <local> belgelenen yerel ad istisnasını kullanır. Birincisi başarısız olursa denenecek ikinci proxy değildir. Bu yüzden oraya başka bir proxy'nin IP'sini ve bağlantı noktasını koymak yanlış türde bir ayar ifade eder.

VBA başvurularınızın bunları sunduğu yerlerde adlandırılmış sabitler kullanın veya geç bağlama kullanırken ilgili sabiti yerel olarak tanımlayın; böylece mod inceleme sırasında görünür olur.

Nesne türünü de göz önünde tutun. ServerXMLHTTP, tarayıcıya yönelik XMLHTTP ve WinHttpRequest farklı COM arabirimleridir. Birisi için çalışan bir örnek diğerinin yapılandırma kaynağını kanıtlamaz. Doğru nesne el ile proxy modunu seçtiğinde, o yol üzerinde kalan bağlantı, kimlik doğrulama veya TLS hatasını inceleyin.

İlgili makaleler