Acest apel VBA pare să selecteze proxy-ul stocat în proxyServer:

http.setProxy 1, proxyServer, bypassList

Pentru MSXML ServerXMLHTTP, primul argument alege modul proxy. Valorile documentate sunt 0 pentru configurația implicită, 1 pentru o conexiune directă și 2 pentru un proxy furnizat explicit. Trecerea unei adrese după 1 nu transformă modul direct în mod proxy manual.

Un exemplu minim de proxy manual este:

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

Punctul final din exemplu este un substituent. Pentru o verificare cu proxy public, înlocuiți-l cu o adresă HTTP din lista de proxy-uri HTTP. Al treilea argument este o listă de ocolire; aici <local> folosește excepția documentată pentru numele local. Nu este un al doilea proxy de încercat dacă primul eșuează. Prin urmare, plasarea acolo a IP-ului și portului altui proxy exprimă tipul greșit de setare.

Folosiți constante numite acolo unde referințele dvs. VBA le expun, sau definiți constanta relevantă local când folosiți legarea târzie, astfel încât modul să fie vizibil în timpul revizuirii.

Țineți cont și de tipul obiectului. ServerXMLHTTP, XMLHTTP orientat spre browser și WinHttpRequest sunt interfețe COM diferite. Un exemplu funcțional pentru unul nu stabilește sursa de configurare a celuilalt. După ce obiectul corect selectează modul proxy manual, investigați orice eroare rămasă de conexiune, autentificare sau TLS pe acea rută.

Articole similare