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