ServerXMLHTTP setProxy : le mode 1 sélectionne une connexion directe
Utilisez la bonne constante de mode proxy de ServerXMLHTTP et gardez la liste de contournement distincte des points de terminaison proxy alternatifs.
Cet appel VBA semble sélectionner le proxy stocké dans proxyServer :
http.setProxy 1, proxyServer, bypassList
Pour MSXML ServerXMLHTTP, le premier argument choisit le mode proxy. Les valeurs documentées sont 0 pour la configuration par défaut, 1 pour une connexion directe et 2 pour un proxy fourni explicitement. Passer une adresse après 1 ne transforme pas le mode direct en mode proxy manuel.
Un exemple minimal de proxy manuel est :
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
Le point de terminaison de l'exemple est un espace réservé. Pour un contrôle avec un proxy public, remplacez-le par une adresse HTTP de la liste de proxys HTTP. Le troisième argument est une liste de contournement ; ici <local> utilise l'exception de nom local documentée. Ce n'est pas un second proxy à essayer si le premier échoue. Y placer l'IP et le port d'un autre proxy exprime donc le mauvais type de réglage.
Utilisez des constantes nommées là où vos références VBA les exposent, ou définissez la constante concernée localement lorsque vous utilisez une liaison tardive, afin que le mode reste visible lors de la relecture.
Gardez aussi le type d'objet à l'esprit. ServerXMLHTTP, XMLHTTP orienté navigateur et WinHttpRequest sont des interfaces COM différentes. Un exemple qui fonctionne pour l'une n'établit pas la source de configuration de l'autre. Une fois que le bon objet sélectionne le mode proxy manuel, examinez toute erreur restante de connexion, d'authentification ou TLS sur cette route.