Toto volání VBA vypadá, jako by vybíralo proxy uloženou v proxyServer:

http.setProxy 1, proxyServer, bypassList

U MSXML ServerXMLHTTP první argument volí režim proxy. Dokumentované hodnoty jsou 0 pro výchozí konfiguraci, 1 pro přímé připojení a 2 pro výslovně zadanou proxy. Předání adresy za 1 nezmění přímý režim na režim ruční proxy.

Minimální příklad ruční proxy je:

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

Koncový bod v příkladu je zástupný. Pro kontrolu veřejné proxy jej nahraďte adresou HTTP ze seznamu HTTP proxy. Třetí argument je seznam obcházení; zde <local> používá dokumentovanou výjimku pro místní název. Není to druhá proxy, kterou byste zkoušeli, když první selže. Umístění IP adresy a portu jiné proxy tam proto vyjadřuje nesprávný druh nastavení.

Používejte pojmenované konstanty tam, kde je vaše odkazy VBA nabízejí, nebo příslušnou konstantu definujte lokálně při použití pozdní vazby, aby byl režim při kontrole viditelný.

Mějte také na paměti typ objektu. ServerXMLHTTP, na prohlížeč orientovaný XMLHTTP a WinHttpRequest jsou různé rozhraní COM. Funkční příklad pro jedno nedokazuje zdroj konfigurace druhého. Jakmile správný objekt zvolí režim ruční proxy, prošetřete každou zbývající chybu připojení, ověřování nebo TLS na této trase.

Související články