golang程序确定用户是否使用代理

时间:2015-06-26 03:28:23

标签: http go proxy

我希望我的golang http客户端仅在用户提供代理值时才使用代理。

// Make HTTP GET/POST request
proxyUrl, err := url.Parse(proxy)
tr := &http.Transport{
      DisableKeepAlives: true,
      Proxy:             http.ProxyURL(proxyUrl),
}

即使代理变量为空,上述代码也总是尝试通过代理连接。

1 个答案:

答案 0 :(得分:0)

感谢您的建议。现在我能够使它工作。以下是修改后的代码。

tr := &http.Transport{}
tr.DisableKeepAlives = true
if len(proxy) != 0 { // Set the proxy only if the proxy param is specified
    proxyUrl, err := url.Parse(proxy)
    if err == nil {
        tr.Proxy = http.ProxyURL(proxyUrl)
    }
 }