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

最近服务器从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()));

一个是registry一个是getRegistry()这个应该没有什么问题

但是不知道是不是我的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方法,这样,图片就显示了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值