【发布时间】:2020-02-24 14:49:07
【问题描述】:
我正在尝试使用 Java 11 HTTP 客户端针对经过身份验证的服务,使用基本身份验证。 身份验证成功发生,但它与服务器进行了额外的往返,以了解它应该发送身份验证数据。
已经搜索过文档和代码,在某些时候它在内部使用了某种缓存,但我无法设置缓存值。
这是我的客户端代码:
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://someurl.com"))
.build();
HttpClient client = HttpClient.newBuilder()
.authenticator(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user", "pass".toCharArray());
}
})
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
我所期望的是,我可以以某种方式告诉客户端抢先发送身份验证数据,而不仅仅是在服务器请求时。
【问题讨论】:
标签: basic-authentication java-11 java-http-client