美文网首页
OkhttpUtils的https请求

OkhttpUtils的https请求

作者: azerkang | 来源:发表于2017-02-07 10:10 被阅读599次

    OkhttpUtils的https请求

    网络请求中使用OkhttpUtils,原本的http请求没有什么问题。后来,项目中或成了https,所有请求就出问题了。

    项目中的OkhttpUtils用的是张鸿洋大神封装的,找到github中大神的主页,蓦然找到了答案。

    设置可访问所有的https网站
         HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory(null, null, null);
         OkHttpClient okHttpClient = new OkHttpClient.Builder()
                    //其他配置
                    ...
                    .sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager)
                    .build();
        OkHttpUtils.initClient(okHttpClient);
    设置具体的证书
    HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory(证书的inputstream, null, null);
    OkHttpClient okHttpClient = new OkHttpClient.Builder()
                   //其他配置
                    ...
                    .sslSocketFactory(sslParams.sSLSocketFactory, sslParams.trustManager))
                    .build();
    OkHttpUtils.initClient(okHttpClient);
    

    如果还是有问题的话,建议在代码中其他配置处加上一句代码:

                .hostnameVerifier(new HostnameVerifier() {
                    @Override
                    public boolean verify(String hostname, SSLSession session) {
                        return true;
                    }
                })

    相关文章

      网友评论

          本文标题:OkhttpUtils的https请求

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