ServerXMLHTTP setProxy: el modo 1 selecciona una conexión directa
Use la constante correcta de modo de proxy de ServerXMLHTTP y mantenga la lista de omisión separada de los puntos de conexión de proxy alternativos.
Esta llamada de VBA parece seleccionar el proxy guardado en proxyServer:
http.setProxy 1, proxyServer, bypassList
En MSXML ServerXMLHTTP, el primer argumento elige el modo de proxy. Los valores documentados son 0 para la configuración predeterminada, 1 para una conexión directa y 2 para un proxy proporcionado explícitamente. Pasar una dirección después de 1 no convierte el modo directo en modo de proxy manual.
Un ejemplo mínimo de proxy manual es:
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 punto de conexión del ejemplo es un marcador de posición. Para una comprobación con proxy público, sustitúyalo por una dirección HTTP de la lista de proxies HTTP. El tercer argumento es una lista de omisión; aquí <local> usa la excepción de nombre local documentada. No es un segundo proxy que probar si falla el primero. Por eso, poner ahí la IP y el puerto de otro proxy expresa el tipo equivocado de ajuste.
Use constantes con nombre donde sus referencias de VBA las expongan, o defina la constante correspondiente localmente cuando use enlace tardío, para que el modo sea visible durante la revisión.
También tenga presente el tipo de objeto. ServerXMLHTTP, el XMLHTTP orientado al navegador y WinHttpRequest son interfaces COM distintas. Un ejemplo que funciona para uno no establece el origen de configuración del otro. Una vez que el objeto correcto selecciona el modo de proxy manual, investigue cualquier error restante de conexión, autenticación o TLS en esa ruta.