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 /) –