glide 集成okhttp3 解决https自签名证书问题
来源:互联网 发布:新西兰博士含金量知乎 编辑:程序博客网 时间:2024/05/01 00:08
问题glide加载不了自签名证书的https地址
解决
第一步.glide默认使用httpurlconnection,修改成okhttp3
compile 'com.github.bumptech.glide:glide:3.7.0'compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
第一个是glide第三个是okhttp 3,第二个就是做引入的,有3个类
第二步,定义自己的okhttpGlideModule
根据glide,github上的文档说明,引入okhttp3要两步,第二步是
<meta-dataandroid:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"android:value="GlideModule" />
但是这个不不能解决我们自签名的问题,所以自定义okhttpGlideModule 与okhttpUrlLoader,
首先你的项目的okhttp要支持https,加入自签名证书什么的,(因7.0有差异,查询7.0配置证书,7.0要使用系统的配置)
我使用的是hongyang的okhttputils;
主要用到这个支持自签名的okhttpClient;
顺序是
meta-data 进入okhttpGlideModule 在进入okhttpUrlLoader的factory 修改其中代码如下,
所有我们至少使用2个类okhttpGlideModule 在进入okhttpUrlLoader
顺序变成,meta-data 进入自定义的okhttpGlideModule 再进入自定义的okhttpUrlLoader
meta-data 变成
<meta-dataandroid:name="com.xxx.xxx.OkHttpGlideModule"android:value="GlideModule"/>
到此结束
总结
1.okhttp必须支持自签名
2.glide使用okhttp (就会那3个引用库)
3.自定义两个类 从meta-data进入我们自己的类
4.组要就是修改okhttpUrlLoader的internalClient 替换成我们自己的okhttp支持自签名
注意
这个的寻找方法也就是外部库的寻找
compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar'
<meta-dataandroid:name="com.bumptech.glide.integration.okhttp3.OkHttpGlideModule"android:value="GlideModule" />
glide推荐的是okhttp3还有下面这样的,我当时遇到的坑
android:name="com.bumptech.glide.integration.okhttp.OkHttpGlideModule"
你可以打开外部库查看具体是哪个包下面
2.拷贝出去源码,自定义我们自己的2个类,
okhttpGlideModule 会去找okhttpUrlLoader一定要改引用的包名,让它去找我们自己定义的第二个类okhttpUrlLoader
0 0
- glide 集成okhttp3 解决https自签名证书问题
- glide:Glide Module 案例: 接受自签名HTTPS证书
- Glide入门教程——17.Glide Module 案例: 接受自签名HTTPS证书
- Linux下生成https自签名证书,解决苹果发布问题重新整理
- Glide 入门到精通之十六——Module 实例:接受自签名证书的 HTTPS
- Glide加载自签名的https图片
- Glide与OkHttp3集成
- iOS: HTTPS 与自签名证书
- iOS: HTTPS 与自签名证书
- iOS: HTTPS 与自签名证书
- iOS: HTTPS 与自签名证书
- chrome https 信任自签名证书
- Volley 信任自签名的 Https 证书
- iOS: HTTPS 与自签名证书
- 客户端认证自签名HTTPS证书
- tomcat配置https自签名证书
- 自签名证书实现HTTPS请求
- 服务器使用https,自签名证书
- eclipse中web工程调试出现404的问题
- json_encode编码 和json_decode解码
- 微信:小程序于2017月1月9日发布
- ajax异步上传文件
- 观察者模式(基础)
- glide 集成okhttp3 解决https自签名证书问题
- cuda-cnn之mnist文件读取(1)
- Android中selector的使用
- D1带有陀螺仪的精度校准
- 【C语言学习笔记】printf,%n格式控制符中的异类?
- 【转载】PHP使用CURL抓取网站内容基础
- docker
- 进程间同步--互斥量和文件锁
- B样条差值算法图像放大的学习和实现