我需要使用PostForm方法将代理与auth一起使用。如果我使用类似(简体)的内容:
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)
在我看来,它是行不通的,而且失败了resp.Header.Add("Proxy-Authorization", basicAuth)
。在此示例中,没有身份验证的代理可以正常工作。有人知道吗,在这种情况下我可以在auth中使用代理吗?
您正在尝试向响应中添加标头,这不是您发送到服务器的内容,而是您收到的内容。您必须向请求中添加标头和数据,您必须先将其组装,然后再像这样执行它:
data := url.Values{} // the form data
data.Add("foo-key", "some data")
req, err := http.NewRequest("POST","https://yoururl", strings.NewReader(data.Encode()))
auth := "username:password"
basicAuth := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
req.Header.Add("Proxy-Authorization", basicAuth)
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
resp, err := bot.Client.Do(req)
然后,您只需使用响应(resp
)
我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢
jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。
问题内容: 我可以通过接收到请求的xml 但不是 没有JavaScript错误,没有跨域策略问题。可能是语法错误,但是我找不到合适的教程。有什么建议吗? 问题答案: 我认为您需要纯格式:
问题内容: 我试图模仿Java中此curl命令的功能: 我使用Commons HttpClient 3.0编写了以下内容,但最终还是从服务器上获取了一个。有人可以告诉我我做错了什么吗? 我后来尝试了Commons HttpClient 4.0.1,但仍然遇到相同的错误: 问题答案: 好的,这样可以工作。万一有人想要它,这是对我有用的版本:)
问题内容: 这是一个具有登录屏幕的现有系统,现在我将某些服务公开为REST服务。我为此Rest(jersey)服务构建了一个身份验证令牌登录系统。用户发送用户名密码,然后服务器返回计算为的令牌; 用户将使用此令牌登录应用程序以获取进一步的请求。并且服务器将令牌的副本与时间戳和用户ID一起保留在数据库中,如果时间戳有效,则登录该用户。 考虑使用 HTTPS ,有几个问题; 我的设计看起来一切正常吗?
问题内容: 注销HTTP身份验证受保护的文件夹的 正确 方法是什么? 有一些解决方法可以实现这一目标,但是它们可能会带来危险,因为它们可能有故障或在某些情况下/浏览器中无法使用。这就是为什么我要寻找正确和清洁的解决方案。 问题答案: 亩。 没有正确的方法 ,甚至没有跨浏览器一致的方法。 这是来自HTTP规范(第15.6节)的问题: 现有的HTTP客户端和用户代理通常会无限期地保留身份验证信息。HT