是否可以使用 Apache HTTPClient 4.2.5 发出 HTTP/2 请求?

Posted

技术标签:

【中文标题】是否可以使用 Apache HTTPClient 4.2.5 发出 HTTP/2 请求?【英文标题】:Is it possible to Make HTTP/2 requests with Apache HTTPClient 4.2.5? 【发布时间】:2020-04-18 23:51:12 【问题描述】:

我正在尝试使用 apache 客户端发出 HTTP/2 请求。以下版本可以吗?

在我的 Web 应用程序中迁移版本需要我进行大量的代码更改。在 httpclient-4.2.5.jar 中是否有任何解决方法来支持带有 TLSv1.3 的 HTTP/2?

我正在使用的 Apache 库: httpclient-4.2.5.jar httpcore-4.2.4.jar httpmime-4.2.5.jar

提前致谢。

【问题讨论】:

【参考方案1】:

似乎只有版本 5 才支持 HTTP 2。Apache Http Client Status

5.0 系列的主要重点是为 HTTP/1.1 和 HTTP/2 提供全功能支持,并确保完全符合 RFC 7230、RFC 7231、RFC 7540 和 RFC 7541。

根据Apache Http Client News,它仍然不是第 5 版的稳定版本。

但是,从 Java 11 开始,有一个新的 Http Client introduced 支持 HTTP 2。

它支持 HTTP/1.1 和 HTTP/2,同步和异步编程模型

【讨论】:

以上是关于是否可以使用 Apache HTTPClient 4.2.5 发出 HTTP/2 请求?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Commons HttpClient 是不是支持 GZIP?

是否可以从 HttpClient-5.x 中止 HttpAsynClient 中的 http 请求 [GET、POST 等]?

使用Apache HttpClient实现多线程下载的小例子

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

使用Apache HttpClient 4.x发送Json数据

android 使用Apache httpclient 4.3 出错