问题标签 [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.
java - 在 Java 11 HttpClient 中如何解决受限制的标头名称:日期
以下 java 11 代码:
给出以下错误:
问题是摘要是基于日期的,所以我不能简单地依赖 http 客户端日期,因为这会使摘要无效。我需要一种方法来设置 Date 标头,或者检索 Date 标头,然后设置摘要。标准 java 11 似乎都不可能。
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
对吗?
java-11 - 打印空行HttpResponse JDK 11
我正在研究HttpClient
Java 11 的新功能,但工作不正常。当我尝试从网站打印正文时,该body()
方法打印空行:
为什么response.body()
不打印正文中的内容?
java - Java 11 HttpClient 未发送基本身份验证
我编写了以下 HttpClient 代码,它没有导致将Authorization
标头发送到服务器:
我从正在调用的服务中收到 HTTP 401 错误。就我而言,它是 Atlassian Jira Cloud API。
我已经确认getPasswordAuthentication()
HttpClient 没有调用我的方法。
为什么它不起作用,我应该怎么做?
java - 使用 java.net.http.HttpClient,如何绑定到特定接口(用于传出连接)?
java.net.http.HttpClient
使用(Java 11)时如何绑定到特定接口?
当我使用 Apache HttpClient 时,它是setLocalAddress
方法。
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项目用于测试。有关更多详细信息,请参阅项目自述文件。
java - JAVA-11: java.net.httpClient 如何设置重试?
目前我正在用JDK-11的新Httporg.apache.http.*
库替换现有的http 客户端库。有许多令人兴奋的新功能,但是我没有找到关于“如何在新的 HTTPClient 中设置 RetryRequestHandler”的任何内容。以前的 Apache HttpClient 构建器的代码片段:
这里的 RetryRequestHandler 是 DefaultHttpRequestRetryHandler 的扩展
在 java-11 的新 HttpClient 中没有设置重试的选项。有什么解决方法吗?
java - 登录JDK11 HttpClient
JDK11 引入了一个新的 HTTP 客户端,具有许多传统java.net.HttpURLConnection
类所缺乏的特性。我遇到的第一个问题是如何正确启用新添加的 HTTP 客户端的日志记录?
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"
上下文。
java - 创建具有特定范围的 java.net.Authenticator
我正在使用 JDK11 HTTP 客户端库,在其中尝试创建具有特定范围的身份验证,该范围可能与主机、端口、领域或方案(BASIC、DIGEST 等)相关。
我的课程实现是:
当实例返回时,此实现工作正常PasswordAuthentication
,但是当没有找到合适的身份验证时,客户端会抛出异常。
我正在寻找一种在这种情况下客户端将返回 401 HTTP 错误代码的方法。一个想法是创建一个在每次调用时生成用户名和密码的实例,但也许存在更简单的方法?