有三个选项可以“告诉” Go 客户端使用代理:
一个。设置 HTTP_PROXY 环境变量:
$ export HTTP_PROXY="http://ProxyIP:ProxyPort"
HTTP_PROXY 环境变量将用作 HTTP 请求和 HTTPS 请求的代理 URL,除非被 HTTPS_PROXY 或 NO_PROXY 覆盖
湾。在 Go 中创建一个必须使用代理的 HTTP 客户端:
proxy, _ := url.Parse("http://ProxyIP:ProxyPort")
httpClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxy)}}
C。更改 Go “net/http” 包使用的默认传输。这会影响整个程序(包括默认的 HTTP 客户端)
proxy, _ := url.Parse("http://ProxyIP:ProxyPort")
http.DefaultTransport := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxy)}}
有关详细信息,请参阅我的博客文章:https ://medium.com/@tufin/how-to-use-a-proxy-with-go-http-client-cfc485e9f342