ServerXMLHTTP setProxy: modus 1 kies 'n direkte verbinding
Gebruik die korrekte ServerXMLHTTP-proxy-moduskonstante en hou die omsykelys apart van alternatiewe proxy-eindpunte.
Hierdie VBA-oproep lyk of dit die proxy kies wat in proxyServer gestoor is:
http.setProxy 1, proxyServer, bypassList
Vir MSXML ServerXMLHTTP kies die eerste argument die proxymodus. Die gedokumenteerde waardes is 0 vir die verstekkonfigurasie, 1 vir 'n direkte verbinding en 2 vir 'n eksplisiet verskafde proxy. Om 'n adres na 1 te gee, maak nie van direkte modus 'n handmatige proxymodus nie.
'n Minimale voorbeeld van 'n handmatige proxy is:
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
Die voorbeeld-eindpunt is 'n plekhouer. Vir 'n toets met 'n publieke proxy vervang dit met 'n HTTP-adres uit die HTTP-proxylys. Die derde argument is 'n omsykelys; hier gebruik <local> die gedokumenteerde uitsondering vir plaaslike name. Dit is nie 'n tweede proxy om te probeer as die eerste faal nie. Om 'n ander proxy se IP en poort daar te plaas, druk dus die verkeerde soort instelling uit.
Gebruik benoemde konstantes waar jou VBA-verwysings dit blootstel, of definieer die betrokke konstante plaaslik wanneer jy laat binding gebruik, sodat die modus tydens die nasien sigbaar is.
Hou ook die objektipe in die oog. ServerXMLHTTP, die blaaiergerigte XMLHTTP en WinHttpRequest is verskillende COM-koppelvlakke. 'n Werkende voorbeeld vir een bewys nie die konfigurasiebron van 'n ander nie. Sodra die korrekte objek handmatige proxymodus kies, ondersoek enige oorblywende verbindings-, verifikasie- of TLS-fout op daardie roete.