当前位置:首页 > CN2资讯 > 正文内容

Golang设置代理的3种实现方式及动态轮换技巧

9小时前CN2资讯

proxyURL, _ := url.Parse("http://proxy.example.com:8080") transport := &http.Transport{

Proxy: http.ProxyURL(proxyURL)

} client := &http.Client{Transport: transport}

type ProxySelector struct {

proxies []*url.URL
mu      sync.RWMutex

}

func (p ProxySelector) Next() url.URL {

p.mu.RLock()
defer p.mu.RUnlock()
return p.proxies[rand.Intn(len(p.proxies))]

}

// 在Transport中动态切换 transport := &http.Transport{

Proxy: func(req *http.Request) (*url.URL, error) {
    return proxySelector.Next(), nil
}

}

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/16273.html

    分享给朋友:

    “Golang设置代理的3种实现方式及动态轮换技巧” 的相关文章