Http客户端具有多个goroutine和每个请求不同的代理

时间:2016-07-15 10:20:23

标签: http go

考虑到我有一个http.Client,其中多个goroutine正在使用相同的http客户端发出GET请求,我的问题是我想保证每个get请求都是通过不同的代理完成的。

我无法在net/http/Transport文档中找到实现这一目标的方法,使用http客户端池是最好的选择,或修改go/src/net/http/transport.go以接收将返回的函数每个请求使用的代理?

感谢JimB的结果就像

那样简单
client := &http.Client{Transport: &http.Transport{Proxy: func(r *http.Request) (*url.URL, error) {
        proxyUrl, err := url.Parse(GetProxyUrl())
        return proxyUrl, err
    }}}

0 个答案:

没有答案