Това извикване на VBA изглежда избира проксито, съхранено в proxyServer:

http.setProxy 1, proxyServer, bypassList

За MSXML ServerXMLHTTP първият аргумент избира режима на прокси. Документираните стойности са 0 за конфигурацията по подразбиране, 1 за директна връзка и 2 за изрично зададено прокси. Подаването на адрес след 1 не превръща директния режим в режим на ръчно прокси.

Ето минимален пример за ръчно прокси:

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

Крайната точка в примера е заместител. За проверка на публично прокси я заменете с HTTP адрес от списъка с HTTP прокси. Третият аргумент е списък за заобикаляне; тук <local> използва документираното изключение за локално име. Това не е второ прокси, което да се опита, ако първото се провали. Затова поставянето там на IP и порт на друго прокси изразява грешен вид настройка.

Използвайте именувани константи там, където вашите VBA референции ги предоставят, или дефинирайте съответната константа локално при късно свързване, така че режимът да е видим при преглед.

Дръжте под внимание и типа на обекта. ServerXMLHTTP, ориентираният към браузър XMLHTTP и WinHttpRequest са различни COM интерфейси. Работещ пример за един не доказва източника на конфигурация на друг. След като правилният обект избере режим на ръчно прокси, изследвайте всяка останала грешка при свързване, удостоверяване или TLS по този маршрут.

Подобни статии