Значение ProxyServer в Windows может быть картой
Распознавайте строки прокси Windows, зависящие от протокола, вместо передачи всего значения конструктору одного URI.
Скрипт читает 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; выбор первой записи теряет различие выше.
Держите это в соответствующем контексте учётной записи. Настройки интерактивного пользователя не являются автоматически настройками службы, работающей под другой идентичностью.