美文网首页
关于Glide配置https图片不显示的问题

关于Glide配置https图片不显示的问题

作者: 莫思闲敏 | 来源:发表于2019-03-06 15:30 被阅读0次

    最近服务器从http改为了https,先是连接地址改了,加入或者忽略证书

    但是发现使用的glide不显示图片了,这就不能忍了

    但是试了好多办法都不行

    最多的就是

    Glide.get(application).registry(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(OkHttpClient));

    但是我的方法报错

    Glide.get(application).getRegistry().register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(builder.build()));

    不知道是不是我的Glide版本不同,还是如何,就是和网上帖子上的代码不一样,使用不了(很是苦恼)

    后来在网上找了一个方法

    /**

    * 忽略https的证书校验

    * 避免Glide加载https图片报错:

    * javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

    */

    public static void handleSSLHandshake() {

    try {

    TrustManager[] trustAllCerts =new TrustManager[]{new X509TrustManager() {

    public X509Certificate[]getAcceptedIssuers() {

    return new X509Certificate[0];

                }

    @Override

                public void checkClientTrusted(X509Certificate[] certs, String authType) {

    }

    @Override

                public void checkServerTrusted(X509Certificate[] certs, String authType) {

    }

    }};

            SSLContext sc = SSLContext.getInstance("TLS");

            // trustAllCerts信任所有的证书

            sc.init(null, trustAllCerts, new SecureRandom());

            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {

    @Override

                public boolean verify(String hostname, SSLSession session) {

    return true;

                }

    });

        }catch (Exception ignored) {

    }

    }

    在Application中初始化

    一个项目可以显示图片, 一个项目显示不了图片 -->是什么原因一直没有搞懂

    最后,我找到解决办法了,过程就不说了,很是辛苦啊(我使用的是OKGO)

    初始化okhttp时加入以下代码

    Glide.get(application).getRegistry().replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(builder.build()));

    把register换成replace方法,这样,图片就显示了!

    相关文章

      网友评论

          本文标题:关于Glide配置https图片不显示的问题

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