[英]Using proxies with net/http in GO
我正在尝试将代理与 net/http package 一起使用。 我的代理是具有用户名、密码、代理地址和端口的轮换代理。 我尝试使用os.setEnv()
将其设置为环境变量,并将其添加到我的 windows 10 环境变量中,但结果可能 windows 不支持用户通过身份验证的代理。 我也尝试了 http 传输方法,但无法正常工作
func SetProxy() *http.Client {
cfg := GetConfig()
if cfg.UseProxy {
proxyUrl, err := url.Parse("http://" + cfg.Proxy)
if err != nil {
panic(err)
}
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}
return myClient
}
return &http.Client{}
}
请如果有人可以向我指出一个教程或一些文档来使用代理,特别是代理和用户传递身份验证!
注意:我到处都使用这种格式:用户名:密码@代理地址:端口
作为调试尝试,您可以打印client.Transport.Proxy
function; 如果它不为零,则调用它并打印它返回的内容。 如果Proxy
不是nil
并且返回 not nil
*URL
,则使用代理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.