我需要使用代理,并使用PostForm方法进行身份验证。如果我使用类似(简化)的东西:
request, err := http.NewRequest("GET", url.String(), nil)
response, err := client.Do(request)我可以很容易地做request.Header.Add("Proxy-Authorization", basicAuth),它工作得很好。但现在,我正在编辑第三方包,并尝试在现有代码中添加代理:
proxyStr := "http://proxy.com:8080"
proxyURL, _ := url.Parse(proxyStr)
transport := &http.Transport{
Proxy: http.ProxyURL(proxyURL),
}
bot.Client = &http.Client{
Transport: transport,
}
resp, err := bot.Client.PostForm(method, params)
auth := "username:password"
basicAuth := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
resp.Header.Add("Proxy-Authorization", basicAuth)它不起作用,在我看来,它在string resp.Header.Add("Proxy-Authorization", basicAuth)上失败了。在本例中,没有身份验证的代理工作得很好。有没有人知道,在这种情况下,我可以使用带有auth的代理吗?
https://stackoverflow.com/questions/51175487
复制相似问题