ServerXMLHTTP setProxy: el mode 1 selecciona una connexió directa
Utilitzeu la constant correcta de mode de proxy de ServerXMLHTTP i manteniu la llista d'exclusions separada dels punts finals de proxy alternatius.
Aquesta crida de VBA sembla que seleccioni el proxy desat a proxyServer:
http.setProxy 1, proxyServer, bypassList
Per a MSXML ServerXMLHTTP, el primer argument tria el mode de proxy. Els valors documentats són 0 per a la configuració per defecte, 1 per a una connexió directa i 2 per a un proxy proporcionat explícitament. Passar una adreça després de 1 no converteix el mode directe en mode de proxy manual.
Un exemple mínim de proxy manual és:
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
El punt final de l'exemple és un marcador de posició. Per a una comprovació de proxy públic, substituïu-lo per una adreça HTTP de la llista de proxys HTTP. El tercer argument és una llista d'exclusions; aquí <local> utilitza l'excepció de nom local documentada. No és un segon proxy per provar si el primer falla. Per tant, posar-hi la IP i el port d'un altre proxy expressa un tipus de configuració equivocat.
Utilitzeu constants amb nom allà on les vostres referències de VBA les exposin, o definiu la constant corresponent localment quan feu servir enllaç tardà, perquè el mode sigui visible durant la revisió.
També tingueu present el tipus d'objecte. ServerXMLHTTP, XMLHTTP orientat al navegador i WinHttpRequest són interfícies COM diferents. Un exemple que funciona per a un no estableix la font de configuració de l'altre. Un cop l'objecte correcte seleccioni el mode de proxy manual, investigueu qualsevol error restant de connexió, autenticació o TLS en aquesta ruta.