ServerXMLHTTP setProxy: läge 1 väljer en direkt anslutning
Använd rätt proxy-lägeskonstant för ServerXMLHTTP och håll förbikopplingslistan åtskild från alternativa proxy-slutpunkter.
Det här VBA-anropet ser ut att välja den proxy som lagras i proxyServer:
http.setProxy 1, proxyServer, bypassList
För MSXML ServerXMLHTTP väljer det första argumentet proxyläget. De dokumenterade värdena är 0 för standardkonfigurationen, 1 för en direkt anslutning och 2 för en uttryckligen angiven proxy. Att skicka en adress efter 1 gör inte direkt läge till manuellt proxyläge.
Ett minimalt exempel på manuell proxy är:
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
Slutpunkten i exemplet är en platshållare. För en kontroll mot en offentlig proxy, byt ut den mot en HTTP-adress från HTTP-proxylistan. Det tredje argumentet är en förbikopplingslista; här använder <local> det dokumenterade undantaget för lokalt namn. Det är inte en andra proxy som provas om den första misslyckas. Att sätta en annan proxys IP och port där uttrycker därför fel typ av inställning.
Använd namngivna konstanter där dina VBA-referenser exponerar dem, eller definiera den aktuella konstanten lokalt när du använder sen bindning, så att läget syns vid granskningen.
Ha också objekttypen i åtanke. ServerXMLHTTP, webbläsarorienterade XMLHTTP och WinHttpRequest är olika COM-gränssnitt. Ett fungerande exempel för den ena fastställer inte konfigurationskällan för den andra. När rätt objekt väljer manuellt proxyläge, undersök eventuella kvarvarande anslutnings-, autentiserings- eller TLS-fel på den vägen.