Скрипт читает ProxyServer из Windows Internet Settings и присваивает его WebProxy.Address. Он работает на одной машине, а затем сбоит на другой, значение которой выглядит так:

http=proxy-a.example:8080;https=proxy-b.example:8080

Это строка конфигурации, зависящая от протокола, а не один URI прокси. Передача всего значения конструктору, ожидающему один адрес, меняет смысл входных данных.

ЗаписьВыбирает прокси для
http=...Запросы к HTTP-назначению
https=...Запросы к HTTPS-назначению

Ключ https сам по себе не означает, что соединение с этим прокси использует TLS. Обычный HTTP-прокси может передавать HTTPS-назначение через CONNECT.

Предпочитайте поддерживаемый интерфейс системного прокси для фактического назначения, когда клиент его предоставляет. Строки ручного прокси, правила обхода, URL-адреса автоматической конфигурации и автообнаружение — это разные части конфигурации. Чтение одного значения реестра не может воспроизвести их все. Если вы проверяете сохранённую карту, прочитайте ProxyEnable и AutoConfigURL рядом с ProxyServer.

Если интеграция должна разбирать ручное сопоставление, следуйте его документированному формату, сохраняйте связь с протоколом и используйте настоящий анализатор URI или конечной точки для каждого выбранного значения. Разделение по каждому двоеточию ломает IPv6; выбор первой записи теряет различие выше.

Держите это в соответствующем контексте учётной записи. Настройки интерактивного пользователя не являются автоматически настройками службы, работающей под другой идентичностью.

Похожие статьи