如何利用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语言简单请求的教程。