我正在尝试使用 HTTP/2 服务器进行通信OkHttp http://square.github.io/okhttp/ client.
添加到 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());
但是当我运行它时它会打印:
协议:http/1.1
and
此浏览器未启用 HTTP/2。
环境:Linux 上的 OpenJDK 8。
您需要额外的东西吗?我看到了一个叫做“ALPN”的东西,但不太理解这个概念。
HTTP/2 需要 ALPN,但在 JDK 9 之前,它在桌面 Java 中不可用。在 Java 7 和 Java 8 中,您需要一个名为码头-阿尔卑斯山 http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html来启用它。
(对于 Java 9,平台上有 ALPN,但仅限于即将推出的 OkHttp 3.3。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)