1、问题发生背景:HttpClient4.5.6获取https链接时报的错。
2、问题分析:大概好像是说没有通过证书验证,具体就是跟证书有关系,再详尽一点也没有研究。
3、解决方法:
//采用绕过验证的方式处理https请求 SSLContext sslcontext = null; try { //主要是通过该方法createIgnoreVerifySSL sslcontext = createIgnoreVerifySSL(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (KeyManagementException e) { e.printStackTrace(); } //设置协议http和https对应的处理socket链接工厂的对象 Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create() .register("http", PlainConnectionSocketFactory.INSTANCE) .register("https", new SSLConnectionSocketFactory(sslcontext)) .build(); PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); HttpClients.custom().setConnectionManager(connManager); CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(connManager).build();
createIgnoreVerif