首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来回/传输代理地址

来回/传输代理地址
EN

Stack Overflow用户
提问于 2016-10-04 09:10:54
回答 1查看 1.1K关注 0票数 1

据我所知,http.Transport的代理字段请求一个生成代理服务器地址的函数。这是我的往返旅行:

代码语言:javascript
复制
roundtripper := &http.Transport{
    Proxy: proxyrouter.Calculateproxy,
...
}

所以代理的类型是func(*Request) (*url.URL, error)。这将链接到服务器,稍后将使用以下方法调用:

代码语言:javascript
复制
response := roundtripper.RoundTrip(request)

返回响应。现在有什么方法可以知道使用了哪个代理地址来获得这个响应呢?(因为我的Calculateproxy函数只是随机地址)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-04 19:40:04

让代理函数添加一个头来记录使用的代理服务器:

代码语言:javascript
复制
Transport{
    Proxy: func(req *Request) (*url.URL, error) {
        p, err := proxyrouter.Calculateproxy(req)
        if err != nil {
            return err
        }
        req.Header.Set("X-Proxy-Addr", p.String())
        return req, nil
    },
}

http.Response对原始请求有一个引用。

代码语言:javascript
复制
proxy := resp.Request.Header.Get("X-Proxy-Addr")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39848379

复制
相关文章

相似问题

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