2017-05-30 1 views
0

Il existe un list d'implémentations de client Java HTTP/2. J'ai trouvé Jetty, Netty et OkHttp code examples et semble qu'ils ont tous besoin d'inclure une version spécifique de ALPN library selon jdk installé. Je ne l'aime pas parce que cela pose problème quand vous n'êtes pas le seul développeur du projet.Implémentations de client Java HTTP/2 sans ALPN

J'ai besoin d'interroger https urls. La question est: existe-t-il des implémentations client HTTP/2 qui n'utilisent pas ALPN? Les exemples de code de travail sont les bienvenus. Je vous remercie!

Répondre

1

OkHttp fonctionne sans les binaires de démarrage alpin spéciaux sur Java 9 bêta, c'est automatique. À l'avenir, OkHttp pourrait également soutenir https://github.com/google/conscrypt. Je crois que Jetty et Netty supportent les connaissances préalables HTTP/2 (sans NPN/ALPN).

par exemple. Jetée

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()); 

Je crois pour Netty cela fonctionne si vous utilisez HttpToHttp2ConnectionHandler