首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过代理连接到服务器

通过代理连接到服务器
EN

Stack Overflow用户
提问于 2018-11-21 14:37:24
回答 1查看 1.8K关注 0票数 0

我想通过我拥有的代理服务器连接到服务器。我正在寻找类似于Python的HTTPConnection.set_tunnel的东西,在golang中有类似的东西吗?

--编辑-编辑

我正在尝试创建一个连接到一个允许自签名证书和通过代理进行传输的服务器,这段代码能正常工作吗?

代码语言:javascript
复制
func CreateProxyClient(serverProxy string, sid string, portProxy int) (*Client, error) {
    http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true}

    proxyUrl, _ := url.Parse(serverProxy+":"+strconv.Itoa(portProxy))
    tr := &http.Transport{
        Proxy: http.ProxyURL(proxyUrl),
    }
    var netClient = &http.Client{
        Timeout: time.Second * 10,
        Transport: tr,
    }
    return &Client{netClient, serverProxy, sid}, nil
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 14:52:19

您可以为HTTP设置环境变量HTTP_PROXY,也可以为HTTPS设置HTTPS_PROXY,因此默认的http传输将使用它。

另外,您可以自己创建http.Transport,将Proxy字段设置为http.ProxyURL函数调用,也可以使用自定义实现。

示例:

代码语言:javascript
复制
proxyURL, _ := url.Parse("http://proxy.example.com:port")
http.DefaultTransport = &http.Transport{
    Proxy: http.ProxyURL(proxyURL),
}
// request using proxy
resp, _ := http.Get("https://google.com"))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53414431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档