Okhttp3在jdk8中支持http2支持

问题描述 投票:1回答:1

我一直在测试okhttp3用于发出http2请求,我的标准是使用jdk8本身实现http2连接。我知道这可以通过升级到jdk 9或使用conscrypt作为默认提供程序来轻松实现,例如,

Security.insertProviderAt(Conscrypt.newProvider(), 1);

但是插入这样的提供程序会影响应用程序级别,我只想将此限制为仅使用http2连接的sslSocket,所有其他套接字应该使用默认提供程序,我知道apache-httpclient-5 beta提供了这样的选项叫做自定义TLSstrategy有助于将conscrypt指定为仅用于特定SSLSocketFactory的默认提供程序

请帮助

TIA

java okhttp okhttp3 http2 okhttpclient
1个回答
0
投票

它并不是真的为这种情况设计的,而是假设如果你有Conscrypt可用并注册,那么你很高兴并愿意使用它。

OkHttp平台是自动选择的,并且是JVM单例,因此您无法覆盖每个客户端或每个连接。

您可以覆盖客户端的SSLSocketFactory。但是,OkHttp还要求HTTP / 1.1是可接受的协议之一,并且将在客户端和服务器协商HTTP / 1.1或H2之前选择TLS提供程序。所以这可能适用于您,也可能不适合您。

© www.soinside.com 2019 - 2024. All rights reserved.