Якщо 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 поточний користувач може відрізнятися від користувача робочого столу, чий браузер працює.Перевірте обліковий запис служби та фактичний пункт призначення, порівнюючи результат. Виявлення дає кандидата маршруту, а не автентифікацію чи гарантію доступності кінцевої точки.

Схожі статті