Я думаю, что некоторые вещи здесь нужно прояснить.
ProgID «Microsoft.XMLHTTP» указывает на тот же класс, что и «MSXML2.XMLHTTP». Этот класс использует стек протоколов WinINET HTTP, который использует Internet Explorer, и поэтому будет использовать любую настройку прокси-сервера, найденную в настройках Интернета на ПК.
Следовательно, для "Microsoft.XMLHTTP" команда proxycfg бесполезна.
Альтернативой XMLHTTP является «MSXML2.ServerXMLHTTP». Этот класс использует стек протоколов WinHTTP HTTP, который разработан, чтобы быть легким и дружественным к серверу. Безопасно использовать несколько экземпляров в нескольких потоках в одном процессе, где WinINET нет. По этой причине именно ServerXMLHTTP следует использовать в ASP-коде на стороне сервера.
WinHTTP не использует настройки Интернета, которые использует WinINET, поэтому для настройки прокси-сервера, который будет использовать ServerXMLHTTP, необходимо использовать команду proxycfg. Действительно полезная команда: -
proxycfg -u
Который копирует текущие настройки прокси WinINET в настройки WinHTTP, если вы используете такие инструменты, как fiddler, это полезно для запуска мониторинга трафика, проходящего через WinHTTP, после запуска fiddler. (Обратите внимание, что вы используете proxycfg -d
для удаления настроек прокси).
ServerXMLHTTP также имеет метод setProxy
, который позволяет динамически настраивать фактические настройки прокси в виде кода.