ServerXMLHTTP setProxy: tila 1 valitsee suoran yhteyden
Käytä ServerXMLHTTP:n oikeaa välityspalvelimen tilavakiota ja pidä ohituslista erillään vaihtoehtoisista välityspalvelimen päätepisteistä.
Tämä VBA-kutsu näyttää valitsevan välityspalvelimen, joka on tallennettu muuttujaan proxyServer:
http.setProxy 1, proxyServer, bypassList
MSXML ServerXMLHTTP:ssä ensimmäinen argumentti valitsee välityspalvelimen tilan. Dokumentoidut arvot ovat 0 oletusasetukselle, 1 suoralle yhteydelle ja 2 erikseen annetulle välityspalvelimelle. Osoitteen antaminen arvon 1 jälkeen ei muuta suoraa tilaa manuaaliseksi välityspalvelintilaksi.
Pienin esimerkki manuaalisesta välityspalvelimesta:
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
Esimerkin päätepiste on paikkamerkki. Julkisen välityspalvelimen tarkistusta varten korvaa se HTTP-osoitteella HTTP-välityspalvelinluettelosta. Kolmas argumentti on ohituslista; tässä <local> käyttää dokumentoitua paikallisen nimen poikkeusta. Se ei ole toinen välityspalvelin, jota kokeillaan, jos ensimmäinen epäonnistuu. Toisen välityspalvelimen IP:n ja portin laittaminen siihen ilmaisee siis vääränlaista asetusta.
Käytä nimettyjä vakioita siellä, missä VBA-viitteesi tuovat ne esiin, tai määritä kyseinen vakio paikallisesti myöhäistä sidontaa käytettäessä, jotta tila näkyy tarkistuksen aikana.
Pidä myös objektityyppi näkyvissä. ServerXMLHTTP, selainkäyttöön tarkoitettu XMLHTTP ja WinHttpRequest ovat eri COM-rajapintoja. Yhdelle toimiva esimerkki ei todista toisen asetusten lähdettä. Kun oikea objekti valitsee manuaalisen välityspalvelintilan, tutki kyseisellä reitillä jäljellä oleva yhteys-, todennus- tai TLS-virhe.