问题标签 [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 投票
3 回答
702 浏览

java - 有没有办法使用 Java 11 的 HttpClient 从 HTTP 1.1 响应的状态行中获取原因短语?

使用 Javajava.net.HttpURLConnection有一个getResponseMessage()方法来检索任何Reason-Phrase文本(由RFC2616 6.1 状态行指定)。

在较新的 Java 11 HttpClient 中,java.net.http.HttpResponse只有一个statusCode()方法。

有没有办法使用此 API 获取在状态行末尾返回的文本?如果没有,为什么不包括在内?(我知道 HTTP 2没有定义这个值,但大多数应用程序仍然使用 HTTP 1.1,它仍然有效。)

0 投票
2 回答
1290 浏览

java - 如何使用 HttpClient 发送 DELETE 请求

我怎样才能向这个发送http DELETE请求

使用HttpClient对象或类似的东西?

这是我的代码GETPOST请求:

0 投票
0 回答
159 浏览

java - 如何更改 Java HttpClient (SSLContext) 中使用的 TLS 扩展

我想知道如何通过编辑 SSLSockets 或通过其他方式更改要在 Java 中使用的 TLS 扩展。

这就是我目前使用 Conscrypt 初始化 SSL 的方式

0 投票
1 回答
570 浏览

java - “java.io.IOException:连接超时”VS HttpTimeoutException 在 java 11 HTTP 客户端

我正在使用 Java 11 http-client ( java.net.http)。

send()方法声明了这些异常:

我对捕获由超时引起的异常很感兴趣。我认为最好的方法是捕捉 HttpTimeoutException(扩展IOException

但是,我有时会看到,当发生超时时,抛出的异常是:

现在我想知道:

  1. 为什么会抛出更一般的异常?
  2. 应该如何编写 catch 以确保捕获所有可能的超时相关异常?
0 投票
0 回答
641 浏览

java - 带有JDK11客户端的https代理

我想使用 JDK 11HttpClient通过 HTTPS 代理执行请求。我试过这段代码来创建客户端:

以及生成请求的代码:

但它失败了java.io.IOException: HTTP/1.1 header parser received no bytes

curl我想要执行的等价物是:

那行得通。有什么建议么?

0 投票
0 回答
333 浏览

java - 使用 Java HttpClient 时出现 504 网关超时

我有一个通过 POST 调用的 HTTP 服务。使用curlPostman 等软件,请求成功(状态码 200)。

我需要从 Java 中使用此服务。但是使用HttpClientJava 11 的本机,我得到 504 Gateway Timeout ...

尝试使用 Apache HttpClient 库,调用成功:

为什么它不适用于 Java native HttpClient?通话之间有什么区别?

0 投票
1 回答
955 浏览

java - Java Async HttpClient 请求似乎阻塞了主线程?

根据这个,下面的代码片段应该是异步的。

因此,输出应为:TP1、TP2、TP3、http ://openjdk.java.net/ 。

但是,当我运行它时,我得到:TP1、TP2、http ://openjdk.java.net/、TP3。

似乎“sendAsync”正在阻塞主线程。这不是我对 Async 方法的期望。

难道我做错了什么?

0 投票
1 回答
41 浏览

java - 等待 POST 请求并从 Java 中的服务器获取发布的内容

我有一台服务器,我希望两台计算机通过它进行通信 - 一台发送 POST 请求,另一台获取发布的内容,发布结果,第一台获取发布的内容。我知道如何发出 GET 和 POST 请求,但如何等待 POST 请求发生并获取发布的内容?

0 投票
2 回答
1742 浏览

java - Java 11 HttpClient - HttpClients 与并发 HttpRequests 的最佳比率是多少

在下面的示例中,我创建了一个 Java 11 httpClient,然后创建了多个并发 HttpRequest。

  1. 这是不好的做法吗?
  2. 每个 HttpRequest 都应该有自己的 HttpClient 吗?
  3. HttpClient 可以拥有的 HttpRequest 数量是否有上限?

代码

0 投票
1 回答
407 浏览

java - HttpClient 关闭连接

我想问一下这段代码执行后是否会自动关闭连接。此外,如果它失败并崩溃,它还会关闭连接吗?