【问题标题】:Golang net/http/transport proxy CONNECT method header supportingGolang net/http/transport 代理 CONNECT 方法头支持
【发布时间】:2017-01-27 09:23:56
【问题描述】:

Golang 的包 net/http/transport 可以自动设置 Proxy-Authorization 中的 header

func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (*persistConn, error)

喜欢

proxyURL, _ := url.Parse("http://username:password@example.com")
client      := http.Client{Transport: &http.Transport{Proxy:http.ProxyURL(proxyURL)}}

但我需要将 X-Header 提交到代理服务器。如何自定义传输 CONNECT 方法请求标头?

net/http/transport

【问题讨论】:

    标签: go


    【解决方案1】:

    这个怎么样:

    // ...
    request, err := http.NewRequest("GET", "https://www.google.com", nil)
    if err != nil {
      // do something
    }
    // add header here.
    request.Header.Add("X-Header", "xxx")
    
    response, err := client.Do(request)
    if err != nil {
      // do something
    }
    // ...
    

    【讨论】:

    • 这不起作用,因为request.Header 不会设置为CONNECT 请求。
    • 我认为代理服务器在您使用CONNECT 时无法“看到”请求标头,请查看:stackoverflow.com/questions/10369679/…
    猜你喜欢
    • 2017-05-04
    • 1970-01-01
    • 2014-06-28
    • 2017-04-25
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多