Https在4.4以下手机上不好用问题,用okhttp进行设置可以解决

来源:互联网 发布:网络课件制作软件 编辑:程序博客网 时间:2024/04/29 16:22
经过很多测试,httpclient,httpsUrlconnection 设置ssl工厂都没看到作用,有部分文章说4.4以下手机默认不支持https,用okhttp之后进行如下这是可以起作用,附件为工厂类

public synchronized  OkHttpClient getClient(){
                 if (okHttpClient == null) {
                OkHttpClient.Builder builder = new OkHttpClient.Builder();
               try {
                // 自定义一个信任所有证书的TrustManager,添加SSLSocketFactory的时候要用到
                 final X509TrustManager trustAllCert =
                           new X509TrustManager() {
                               @Override
                                public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
                            }

                                    @Override
                               public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
                                 }

                                @Override
                                    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                                  return new java.security.cert.X509Certificate[]{};
                                }
                            };
                    final SSLSocketFactory sslSocketFactory = new SSLSocketFactoryCompat(trustAllCert);
                        builder.sslSocketFactory(sslSocketFactory, trustAllCert);
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                }
                     okHttpClient = builder.build();
            }
             return okHttpClient;
         }
0 0
原创粉丝点击