如何利用Goland使用代理IP进行http请求
1.在http.Client中自定义Transport,设置Proxy即可
// 无需代理认证,直接设置: url.Parse("http://代理IP(/域名):代理端口")
uri, err := url.Parse("http://认证账户:认证密码@代理IP(/域名):代理端口")
if err != nil{
log.Fatal("parse url error: ", err)
}
log.Println(uri.User)
client := http.Client{
Transport: &http.Transport{
// 设置代理
Proxy: http.ProxyURL(uri),
},
}
//发起请求
resp, err := client.Get("http://www.baidu.com")
if err != nil{
log.Fatal(err)
}
defer resp.Body.Close()
data, _ := ioutil.ReadAll(resp.Body)
log.Println(string(data))
2.除此之外,您也可以设置环境变量,比如:HTTP_PROXY, HTTPS_PROXY, NO_PROXY
修改上方的代码
client := http.Client{
Transport: &http.Transport{
// 设置代理,从环境变量中获取
Proxy: http.ProxyFromEnvironment,
},
}
//发起请求
resp, err := client.Get("http://www.baidu.com")
if err != nil{
log.Fatal(err)
}
defer resp.Body.Close()
data, _ := ioutil.ReadAll(resp.Body)
log.Println(string(data))
以上便是介绍如何利用go语言简单请求的教程。