美文网首页python机器学习爬虫程序员小石头HTTP
go使用HTTP代理和SOCKS5代理的代码示例

go使用HTTP代理和SOCKS5代理的代码示例

作者: 小石头IP客服 | 来源:发表于2024-03-18 14:55 被阅读0次

本文档为获取到代理IP后使用代理的代码样例,供开发者参考。

代码样例直接运行无法得到正确的结果,因为代码中的代理地址/端口和应用账号密码等信息都是虚构的,您替换成自己真实的就可以正常运行了。

如何获取代理地址/端口和设置代理授权?

请参考:接入指南 - 快速入门

使用前提:

1、 已经获取代理地址,去获取:www.xiaoshitouip.com

2、 已经设置代理授权(用户名/密码或者IP白名单)。

package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
    "net/url"
    "time"
)

func main() {
    # 从 https://www.xiaoshitouip.com/ 领取后,替换自己的ip+端口
    # 到管理后台:https://admin.xiaoshitouip.com/proxy/proxy-auth 授权管理页面添加账号密码或者ip白名单
    # 设置了ip白名单就不需要设置账号密码了
    proxyAddr := "http://代理服务器ip:代理服务器http端口/"
    //账号密码验证
    //proxyAddr := "http://用户名:密码@代理服务器ip:代理服务器http端口/"

    //proxyAddr := "socks5://代理服务器ip:代理服务器http端口/"
    //proxyAddr := "socks5://用户名:密码@代理服务器ip:代理服务器http端口/"
    httpUrl := "http://myip.ipip.net"

    proxy, err := url.Parse(proxyAddr)
    if err != nil {
        log.Fatal(err)
    }
    netTransport := &http.Transport{
        Proxy:http.ProxyURL(proxy),
        MaxIdleConnsPerHost: 10,
        ResponseHeaderTimeout: time.Second * time.Duration(5),
    }
    httpClient := &http.Client{
        Timeout: time.Second * 10,
        Transport: netTransport,
    }
    res, err := httpClient.Get(httpUrl)
    if err != nil {
        log.Println(err)
        return
    }
    defer res.Body.Close()
    if res.StatusCode != http.StatusOK {
        log.Println(err)
        return
    }
    c, _ := ioutil.ReadAll(res.Body)
    fmt.Println(string(c))
}

相关文章

  • Go 使用代理方法

    链接远程服务器,设置SSH端口转发 将SOCK5代理转发为HTTP代理(Go不支持SOCKS5代理) 设置http...

  • 使用ccproxy的二级代理转换socks5代理为http代理

    在通过SSH隧道配置http代理文中,使用了Privoxy来实现转换socks5代理为Http代理,但是Privo...

  • Privoxy 安装配置

    使用Privoxy 将socks5代理转成http代理 操作系统 CentOS 7 1、先安装epel源 2、使用...

  • 2021-09-22

    Windows cmd 设置代理设置 HTTP 代理: socks5代理设置: 取消代理: Windows git...

  • go get 设置代理

    go get下载失败,原因是终端并没有使用代理。 让终端走socks5代理直接在.bashrc添加下面内容

  • Android Studio Gradle read time

    ⚠️:此方法需要代理(或者可以试试使用阿里云的依赖项) 设置代理 ⚠️:使用过 Socks5 代理但是依旧超时,使...

  • GIT 代理设置

    设置代理 git config --global http.proxy 'socks5://127.0.0.1:...

  • Polipo全局代理设置方法

    Shadowsocks是我们常用的代理工具,它使用socks5协议,而终端很多工具目前只支持http和https等...

  • Mac iterm2终端设置shadowsocks代理

    shadowsocks是我们常用的代理工具,它使用socks5协议,而终端很多工具目前只支持http和https等...

  • 为git设置网络代理

    设置http、https代理 git config --global http.proxy socks5://12...

网友评论

    本文标题:go使用HTTP代理和SOCKS5代理的代码示例

    本文链接:https://www.haomeiwen.com/subject/iqfzzdtx.html