У меня есть переменная env, установленная для http_proxy, но с другим вызовом мне нравится обходить прокси и вместо этого использовать прямое подключение к целевому серверу.
Есть ли способ сделать это в Go lang?
Спасибо.
У меня есть переменная env, установленная для http_proxy, но с другим вызовом мне нравится обходить прокси и вместо этого использовать прямое подключение к целевому серверу.
Есть ли способ сделать это в Go lang?
Спасибо.
Как упоминал @Volker, вы можете:
RoundTripper
вместо DefaultTransport
DefaultTransport.Proxy
, чтобы вернуть nil для рассматриваемого запроса.NO_PROXY
переменная средывот что я сделал:
var defaultTransport http.RoundTripper = &http.Transport{
Proxy: nil,
DialContext: (&net.Dialer{
Timeout: 10 * time.Second,
KeepAlive: 30 * time.Second,
DualStack: true,
}).DialContext,
MaxIdleConns: 30,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 15 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
}
client := &http.Client{Transport: defaultTransport}
У меня была эта проблема с корпоративным прокси, даже отключил URL-адрес прокси, который он использовал, это было мое решение
var defaultTtransport http.RoundTripper = &http.Transport{Proxy: nil}
client := &http.Client{Transport: defaultTtransport}