52得票10回答
如何使用Java HttpClient库与PHP一起工作上传文件

我想编写一个Java应用程序,将文件上传到使用PHP的Apache服务器。Java代码使用的是Jakarta HttpClient库的4.0 beta2版本:import java.io.File; import org.apache.http.HttpEntity; import org.a...

38得票5回答
允许Java JDK 11 HttpClient进行不安全的HTTPS连接

有时需要允许不安全的HTTPS连接,例如某些网络爬虫应用程序需要与任何站点一起使用。我使用旧的HttpsURLConnection API提供一种解决方案,该API最近已被JDK 11中的新HttpClient API取代。如何使用这个新API允许不安全的HTTPS连接(自签名或过期证书)? ...

37得票5回答
Java 11:使用x-www-form-urlencoded参数发送POST请求的新HTTP客户端

我试图使用新的 http 客户端 API 发送一个 POST 请求,是否有内置的方法可以格式化参数为 x-www-form-urlencoded? 我当前的代码:HttpRequest request = HttpRequest.newBuilder() .uri(URI.cr...

36得票3回答
如何使用java.net.http.HttpClient记录请求/响应?

HttpClient 最初在 Java 9 中实验性地引入,现在在 Java 11 中已经稳定,但并不出奇的是,很少有项目实际使用它。文档几乎不存在。 在发起 HTTP 调用时,最常见的需求之一是记录请求和响应。如何使用 HttpClient 实现此功能,而不必在每个单独的调用中手动记录日志...

29得票7回答
关闭Java HTTP客户端。

有没有一种方法可以关闭java.net.http.HttpClient以立即释放它所持有的资源? 它内部持有一个选择器、一个连接池和一个 Executor(当使用默认执行器时)。但是它并没有实现Closeable/AutoCloseable接口。

23得票3回答
使用Java 11 HttpClient和定制的BodyHandler以及Jackson反序列化JSON会停止并且无法继续执行。

我使用Java 11的HttpClient::send和自定义HttpResponse.BodyHandler,直接将JSON反序列化为自定义对象时遇到了问题。我在回答这个SO问题时遇到了这个问题。 我使用以下版本: OpenJDK 11 Jackson 2.9.9.3 我创建了一个...

23得票1回答
Java 11 HttpClient未发送基本身份验证

我写了下面的HttpClient代码,但是它没有发送Authorization头到服务器:public static void main(String[] args) { var client = HttpClient.newBuilder() .authent...

20得票3回答
如何使用Java 11 HttpClient和Jackson将JSON响应映射到Java类?

我是Java 11 HttpClient的新手,想要尝试一下。我有一个简单的GET请求,返回JSON数据,我想将JSON响应映射到一个名为Questionnaire的Java类中。 我知道可以像这样将响应转换成字符串或输入流。 HttpRequest request = HttpReque...

18得票2回答
如何在Java HTTP客户端中设置套接字超时时间

我们想要将所有的apache-httpclient-4.x代码迁移到java-http-client代码以减少依赖。在迁移过程中,我遇到了以下问题,它出现在Java 11下: 如何在Java HTTP Client中设置套接字超时? 使用apache-httpclient-4.x,我们可以...

18得票1回答
Java 21内置的HTTP客户端将载体线程固定住。

我正在使用Java Corretto 21.0.0.35.1 build 21+35-LTS,以及内置的Java HTTP客户端来获取响应作为InputStream。我正在使用虚拟线程进行并行请求,大部分情况下都运行良好。然而,偶尔在我的测试中会遇到一个"固定"事件,如下面的堆栈跟踪所示。 ...