gpt4 book ai didi

okhttp - HTTP/2 与 OkHttp

转载 作者:行者123 更新时间:2023-12-02 01:27:33 27 4
gpt4 key购买 nike

我正在尝试使用 OkHttp 与 HTTP/2 服务器进行通信客户端。

添加到 Maven POM:

<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.2.0</version>
</dependency>

这是我的测试代码:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://http2.akamai.com/demo").build();
Response response = client.newCall(request).execute();
System.out.println("Protocol: " + response.protocol());
System.out.println(response.body().string());

但是当我运行它时它会打印:

Protocol: http/1.1

This browser is not HTTP/2 enabled.

环境:Linux 上的 OpenJDK 8。

您还需要一些额外的东西吗?我看到了一个叫做“ALPN”的东西,但不太理解这个概念。

最佳答案

HTTP/2 需要 ALPN,但在 JDK 9 之前,它在桌面 Java 中不可用。在 Java 7 和 Java 8 中,您需要一个名为 jetty-alpn 的 hack。启用它。

(对于 Java 9,平台上有 ALPN,但仅限于即将推出的 OkHttp 3.3。)

关于okhttp - HTTP/2 与 OkHttp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37346495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com