2017-05-30 96 views
0

有一个Java HTTP/2客户端实现的list。我找到了Jetty,Netty和OkHttp code examples,看起来他们都需要包含特定版本的ALPN library,具体取决于安装的jdk。我不喜欢它,因为当您不是该项目的唯一开发人员时,会造成麻烦。没有ALPN的Java HTTP/2客户端实现

我需要查询https的网址。问题是:有没有不使用ALPN的HTTP/2客户端实现?工作代码示例是受欢迎的。谢谢!

回答

1

OkHttp在Java 9测试版中没有任何特殊的alpn-boot jar,它是自动的。未来OkHttp可能也会支持https://github.com/google/conscrypt

我相信Jetty和Netty都支持HTTP/2先前的知识(没有NPN/ALPN)。

例如码头

https://github.com/eclipse/jetty.project/blob/0c8273f2ca1f9bf2064cd9c4c939d2546443f759/jetty-http2/http2-http-client-transport/src/test/java/org/eclipse/jetty/http2/client/http/DirectHTTP2OverTLSTest.java#L86

HttpClientTransportOverHTTP2 transport = new HttpClientTransportOverHTTP2(new HTTP2Client()); 
    transport.setUseALPN(false); 
    client = new HttpClient(transport, newSslContextFactory()); 

我相信了Netty它的工作原理,如果你使用HttpToHttp2ConnectionHandler