ServerXMLHTTP setProxy: la modalità 1 seleziona una connessione diretta
Usate la costante corretta di modalità proxy di ServerXMLHTTP e tenete l'elenco di bypass separato dagli endpoint proxy alternativi.
Questa chiamata VBA sembra selezionare il proxy memorizzato in proxyServer:
http.setProxy 1, proxyServer, bypassList
Per MSXML ServerXMLHTTP, il primo argomento sceglie la modalità proxy. I valori documentati sono 0 per la configurazione predefinita, 1 per una connessione diretta e 2 per un proxy fornito esplicitamente. Passare un indirizzo dopo 1 non trasforma la modalità diretta in modalità proxy manuale.
Un esempio minimo di proxy manuale è:
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
L'endpoint dell'esempio è un segnaposto. Per una verifica con proxy pubblico, sostituitelo con un indirizzo HTTP dal elenco di proxy HTTP. Il terzo argomento è un elenco di bypass; qui <local> usa l'eccezione documentata per il nome locale. Non è un secondo proxy da provare se il primo fallisce. Inserirvi l'IP e la porta di un altro proxy esprime quindi il tipo sbagliato di impostazione.
Usate costanti denominate dove i vostri riferimenti VBA le espongono, oppure definite localmente la costante pertinente quando usate l'associazione tardiva, così che la modalità sia visibile durante la revisione.
Tenete presente anche il tipo di oggetto. ServerXMLHTTP, XMLHTTP orientato al browser e WinHttpRequest sono interfacce COM diverse. Un esempio funzionante per una non stabilisce l'origine di configurazione dell'altra. Una volta che l'oggetto corretto seleziona la modalità proxy manuale, indagate su qualsiasi errore residuo di connessione, autenticazione o TLS su quel percorso.