问题标签 [java-http-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1385 浏览

java - 在 Java 11 HttpClient 中如何解决受限制的标头名称:日期

以下 java 11 代码:

给出以下错误:

问题是摘要是基于日期的,所以我不能简单地依赖 http 客户端日期,因为这会使摘要无效。我需要一种方法来设置 Date 标头,或者检索 Date 标头,然后设置摘要。标准 java 11 似乎都不可能。

0 投票
2 回答
2715 浏览

java - 使用 jdk.internal.net.http

我想用ResponseSubscribers.ByteArraySubscriber那个在jdk.internal.net.http. 我使用openjdk11。

我尝试了两件事:

1/ 我添加到 Maven 编译器插件导出模块

-> 它编译!

2/ 我创建了 module-info.java

运行使用类导入的 junit 测试时出错jdk.internal.net.http

fr.app.AppException:java.io.IOException:类 fr.app.MyClass$BodySubscribers(在未命名的模块 @0x6537cf78 中)无法访问类 jdk.internal.net.http.ResponseSubscribers$ByteArraySubscriber(在模块 java.net.http 中)因为模块 java.net.http 不会将 jdk.internal.net.http 导出到未命名的模块 @0x6537cf78

我知道BodySubscribers只能在命名模块中导出。但是我的模块名称fr.app对吗?

0 投票
1 回答
95 浏览

java-11 - 打印空行HttpResponse JDK 11

我正在研究HttpClientJava 11 的新功能,但工作不正常。当我尝试从网站打印正文时,该body()方法打印空行:

为什么response.body()不打印正文中的内容?

0 投票
1 回答
13743 浏览

java - Java 11 HttpClient 未发送基本身份验证

我编写了以下 HttpClient 代码,它没有导致将Authorization标头发送到服务器:

我从正在调用的服务中收到 HTTP 401 错误。就我而言,它是 Atlassian Jira Cloud API。

我已经确认getPasswordAuthentication()HttpClient 没有调用我的方法。

为什么它不起作用,我应该怎么做?

0 投票
0 回答
319 浏览

java - 使用 java.net.http.HttpClient,如何绑定到特定接口(用于传出连接)?

java.net.http.HttpClient使用(Java 11)时如何绑定到特定接口?

当我使用 Apache HttpClient 时,它是setLocalAddress方法。

0 投票
0 回答
1506 浏览

java - 打开 JDK 11 HTTP/2 Handshake ServerHello java.util.NoSuchElementException

在通过 HTTP/2 测试 Open JDK 11 HTTP 客户端时,会出现一个看起来像 JDK 11 错误的服务器端错误。

该测试针对 Tomcat 9 服务器运行多个线程,测试所有线程是否使用 HTTP/2 和 TLS1.3。

值得关注的是错误在“sun.security.ssl.SSLHandshake.produce”内部,这意味着它不是 Tomcat,而是 JDK 导致了错误。

任何人都可以确认您在对 JDK 11 的 HTTP 层进行负载测试时也有同样的经历吗?如果是这样,我会向 Open JDK 团队报告。

该错误仅在运行负载测试时才明显:

这个github项目用于测试。有关更多详细信息,请参阅项目自述文件。

0 投票
2 回答
3169 浏览

java - JAVA-11: java.net.httpClient 如何设置重试?

目前我正在用JDK-11的新Httporg.apache.http.*库替换现有的http 客户端库。有许多令人兴奋的新功能,但是我没有找到关于“如何在新的 HTTPClient 中设置 RetryRequestHandler”的任何内容。以前的 Apache HttpClient 构建器的代码片段:

这里的 RetryRequestHandler 是 DefaultHttpRequestRetryHandler 的扩展


在 java-11 的新 HttpClient 中没有设置重试的选项。有什么解决方法吗?

0 投票
1 回答
1730 浏览

java - 登录JDK11 HttpClient

JDK11 引入了一个新的 HTTP 客户端,具有许多传统java.net.HttpURLConnection类所缺乏的特性。我遇到的第一个问题是如何正确启用新添加的 HTTP 客户端的日志记录?

0 投票
1 回答
2598 浏览

java - 是否可以构建一个使用 SSL/TLS JAVA_OPTS 作为其 SSLContext 的 Java 11 HttpClient?

HttpClientBuilder我知道你可以调用Apache useSystemProperties(),它会创建一个客户端,SSLContext如果javax.net.ssl.keyStore传递为JAVA_OPTS

我想对 Java 11 做类似的事情HttpClient。这样做的原因是在我的用例中,我将密钥存储和信任存储视为可选的,不必在我的代码中检查它们的存在会很好。基本上,我想SSLContext根据JAVA_OPTS它们是否存在来设置;否则只需使用"Default"上下文

0 投票
1 回答
162 浏览

java - 创建具有特定范围的 java.net.Authenticator

我正在使用 JDK11 HTTP 客户端库,在其中尝试创建具有特定范围的身份验证,该范围可能与主机、端口、领域或方案(BASIC、DIGEST 等)相关。

我的课程实现是:

当实例返回时,此实现工作正常PasswordAuthentication,但是当没有找到合适的身份验证时,客户端会抛出异常。

我正在寻找一种在这种情况下客户端将返回 401 HTTP 错误代码的方法。一个想法是创建一个在每次调用时生成用户名和密码的实例,但也许存在更简单的方法?