如何在我的HTTP请求中使用带有身份验证的代理?

时间:2018-11-21 07:06:55

标签: go proxy get request

我有一个代理IP地址(也需要用户名和密码)。当我尝试使用它们访问网页时,会显示“需要代理身份验证”。

我找到了2016年的另外一篇Stackoverflow帖子,并且该Github Issue已经关闭,但是他们没有提供任何有用的信息:

有什么建议吗?

编辑: 看到了这篇文章:Setting up proxy for HTTP client

有点接近。但是,对于某些URL,我可以使用代理获得成功的响应,但是对于某些URL,则获得“需要代理授权”。

2 个答案:

答案 0 :(得分:11)

如果您遵循此authorized proxy tutorial,那么您要做的另一步就是在传输器中设置HEADER。

auth := "username:password"
basicAuth := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
transport.ProxyConnectHeader = http.Header{}
transport.ProxyConnectHeader.Add("Proxy-Authorization", basicAuth)

答案 1 :(得分:0)

要添加授权,您可能需要添加标题:

auth := "{user}:{password}"
basicAuth := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
request.Header.Add("Proxy-Authorization", basicAuth)