Используйте go-ieproxy для выбора прокси по URL в Windows
Используйте go-ieproxy.GetProxyFunc на собственном транспорте вместо сведения автоматической политики Windows к статическим значениям среды.
Если go-ieproxy уже доступен, а стандартный транспорт по умолчанию всё ещё установлен, подключите его функцию прокси, учитывающую запрос:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Импортируйте net/http, time и github.com/mattn/go-ieproxy и выполняйте запросы рабочей нагрузки через client. Проверка типа требует, чтобы DefaultTransport оставался http.Transport.
GetProxyFunc охватывает статические параметры, явный сценарий автоматической конфигурации и полностью автоматическое обнаружение. Его поиск в Windows использует конфигурацию текущего пользователя и обращается к реестру, если первый вызов API завершается неудачно.
OverrideEnvWithStaticProxy делает иной выбор: он экспортирует ручные параметры и не может сохранить автоматические решения для каждого пункта назначения. Используйте это преобразование только для намеренно статической политики.
Для службы Windows текущий пользователь может отличаться от пользователя рабочего стола, у которого работает браузер.Проверьте учётную запись службы и фактический пункт назначения при сравнении результата. Обнаружение даёт кандидата маршрута, а не аутентификацию и не гарантию доступности конечной точки.