请求在飞行中修改golang Http Transport是否安全?

时间:2018-04-14 03:19:13

标签: http go

我有一个应用程序,可以根据请求轮换代理。

目前我有一些代码:

func (mon *Monitor) MassUrlRetrieve(n int, url string) (respBytes []byte) {
    funnel := make(chan []byte)
    go ProductRetrieveTimeout(TIMEOUT_RETRIEVE_URL, funnel)
    for i := 0; i < n; i++ {
        go mon.WrapGetUrlToChannel(funnel, url)
    }
    return <- funnel
}

基本上发送多个请求,如果没有及时响应,则返回第一个请求响应/超时。

WrapGetUrlToChannel我创建一个新的代理网址,将其分配给mon client.tr.Proxy

我的问题是 - 在请求飞行期间修改客户端的传输是否安全?或者为了安全,我应该为每个代理设置不同的传输和客户端,以确保它们不会干扰吗?

1 个答案:

答案 0 :(得分:0)

使用竞赛探测器肯定表明我不应该修改传输。最后,我决定绕过* http.Transport而不是代理,并在发出并发请求时使用唯一的客户端。

感谢@Flimzy