lukad是正确的,你可以设置HTTP_PROXY
环境变量,如果你这样做围棋将默认使用它。
击:
export HTTP_PROXY="http://proxyIp:proxyPort"
转到:
os.Setenv("HTTP_PROXY", "http://proxyIp:proxyPort")
你也可以构建自己的http.Client必须使用代理,无论环境的配置:
proxyUrl, err := url.Parse("http://proxyIp:proxyPort")
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}
这如果您不能依赖于环境的配置,或者不想修改它,那么它非常有用。
您还可以修改“net/http
”程序包使用的默认传输。这会影响你的整个程序(包括默认的HTTP客户端)。
proxyUrl, err := url.Parse("http://proxyIp:proxyPort")
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyUrl)}
事实上,我需要同时发送几个请求,每个请求使用不同的代理,所以你的第二个解决方案可能是我需要的。然而,它似乎并没有工作,我得到这个错误的所有代理:'获取http://stackoverflow.com:http:错误连接到代理87.236.233.92:8080:GetServByName:请求的名称是有效,但没有找到所需类型的数据。“任何想法是什么意思? –
我得到了我对这个问题的答案 - http://stackoverflow.com/q/14669958/561309 –
仅供参考:'url'在[net/url](https://golang.org/pkg/net/url /) –