美文网首页
使用AsyncHttpClient抛SSL异常

使用AsyncHttpClient抛SSL异常

作者: kim_liu | 来源:发表于2018-01-11 20:48 被阅读581次

异常

javax.NET.ssl.SSLException:hostname in certificate didn’t match:<..*.com> != <.**.com>

解决:

publicstaticSchemeRegistrygetSchemeRegistry(){

try{

KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());

trustStore.load(null,null);

SSLSocketFactory sf =newMySSLSocketFactory(trustStore);

sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

HttpParamsparams=newBasicHttpParams();

HttpConnectionParams.setConnectionTimeout(params,10000);

HttpConnectionParams.setSoTimeout(params,10000);

HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);

HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);

SchemeRegistry registry =newSchemeRegistry();

registry.register(newScheme("http", PlainSocketFactory.getSocketFactory(),80));

registry.register(newScheme("https", sf,443));

returnregistry;

}catch(Exception e) {

return null; } }

asynchttpclient 初始化的时候 new AsyncHttpClient(getSchemeRegistry()); 传入这个方法返回值就可以了。

相关文章

网友评论

      本文标题:使用AsyncHttpClient抛SSL异常

      本文链接:https://www.haomeiwen.com/subject/nrwtoxtx.html