Стандардниот DefaultTransport во Go го поставува Proxy на ProxyFromEnvironment. Одделно изградениот &http.Transport{} има nil функција Proxy, која не избира ниту едно прокси.

Оваа разлика може да се појави откако ќе се додаде транспорт само за да се смени временско ограничување. Додека стандардната вредност е сè уште инсталирана, клонирајте ја и сменете го полето што ви треба:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.ResponseHeaderTimeout = 15 * time.Second

client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

Клонот го зачувува изборот на прокси од околината и другите стандардни поставки на транспортот. Проверката на типот претпоставува дека апликацијата не го заменила DefaultTransport со друг RoundTripper.

За транспорт намерно изграден од нула, поставете Proxy: http.ProxyFromEnvironment експлицитно кога тоа е неговата политика за насочување. Експлицитната функција ProxyURL изразува друга политика: еден избран посредник.

Конфигурирајте го транспортот пред паралелните барања да почнат да го користат, потоа користете го повторно за работното оптоварување. Менувањето на заеднички стандарден објект може да влијае на неповрзани клиенти.

Прилагодените TLS поставки се одделни. Оневозможувањето на проверка на сертификатот не е потребно за да се задржи откривањето на прокси и би ја сменило безбедноста на секое соодветно HTTPS барање.

Поврзани статии