是否有比 此处 描述的方法更简单的方法来设置 http 客户端以进行抢占式基本身份验证?
在以前的版本 (3.x) 中,它曾经是一个简单的方法调用(例如 httpClient.getParams().setAuthenticationPreemptive(true)
)。
我想避免的主要事情是将 BasicHttpContext 添加到我执行的每个方法中。
原文由 yossis 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否有比 此处 描述的方法更简单的方法来设置 http 客户端以进行抢占式基本身份验证?
在以前的版本 (3.x) 中,它曾经是一个简单的方法调用(例如 httpClient.getParams().setAuthenticationPreemptive(true)
)。
我想避免的主要事情是将 BasicHttpContext 添加到我执行的每个方法中。
原文由 yossis 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您希望强制 HttpClient 4 对单个请求进行身份验证,则以下方法将起作用:
String username = ...
String password = ...
UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password);
HttpRequest request = ...
request.addHeader(new BasicScheme().authenticate(creds, request));
原文由 Adam Batkin 发布,翻译遵循 CC BY-SA 2.5 许可协议
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答768 阅读✓ 已解决
3 回答1.8k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
如果不每次都传递上下文,很难做到这一点,但您可以通过使用请求拦截器来做到这一点。这是我们使用的一些代码(从他们的 JIRA,iirc 中找到):