Retrofit/Okhttp Https兼容到Http降级处理实践(信任所有https)
来源:互联网 发布:淘宝注册账号注册不了 编辑:程序博客网 时间:2024/05/18 17:28
Tamic /http://blog.csdn.net/sk719887916/article/details/51597816
尊重原创,授权请访问:http://www.banquanyin.com/u/101701130004540
之前出的一篇文章 - Retrofit 2.0 超能实践,完美支持Https传输详细介绍了使用okhttp支持https的步骤,很多人要的是所以一切Https都要免信任,实则就是全部放开,那么下面的代码就是介绍如何将okHttp进行免信任Https链接。
信任所有https
信任所有https请求,也就是放行所有的证书验证,具体可以直接将OkHttpClient
的HostnameVerifie
r设置为true
OkHttpClient client = new OkHttpClient();client.setHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String s, SSLSession sslSession) { return true; }});TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public void checkClientTrusted( java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException { } @Override public void checkServerTrusted( java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[] {}; }} };try { //构造自己的SSLContext SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); client.setSslSocketFactory(sc.getSocketFactory());} catch (Exception e) { e.printStackTrace();}
接着设置协议为 1.1(Protocol.HTTP_1_1)
client.protocols(Collections.singletonList(Protocol.HTTP_1_1)) .build();
目前OKhttp3.5 已经将setHostnameVerifier函数 放到builder当中了,你可以使用 OkHttpClientbuilder.HostnameVerifier进行操作,实则内部调用都一样。
衍生
目前众多框架使用okhttp, 著名的有picasso, glide, Retrofit等,通过上面的姿势,就能很好的让这些框架默认支持Https链接 。
今天的文章比较简短,但实用性比价高
阅读推荐
Retrofit 2.0 超能实践,完美支持Https传输
Retrofit/Okhttp API接口加固技术实践(上)
Retrofit/OkHttp API接口加固技术实践(下)
Tamic http://blog.csdn.net/sk719887916/article/details/51597816
尊重原创,授权请访问:http://www.banquanyin.com/u/101701130004540
- Retrofit/Okhttp Https兼容到Http降级处理实践(信任所有https)
- OkHttp使用Https访问服务器时信任所有证书
- https信任所有证书
- okhttp http 重定向到https
- java https信任所有证书
- okhttp关于https的证书信任问题
- Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
- Android开发之信任所有https证书
- HTTPS请求与HTTP兼容
- 关于OKHttp的Https的认证问题(全部信任)
- 从HTTP到HTTPS
- 从 HTTP 到 HTTPS
- 从 HTTP 到 HTTPS
- Retrofit 2.0 https的应用,以及实践
- android开发之retrofit+okhttp+https+自有证书
- Android HTTPS 自制证书实现双向认证(OkHttp + Retrofit + Rxjava)
- Android HTTPS 自制证书实现双向认证(OkHttp + Retrofit + Rxjava)
- Android平台实现https信任所有证书的方法
- Stackable 是 Threaded 的一个别称,直到 pthreads v.2.0.0
- 操作系统学习笔记(四)
- Mybatis的mapper.xml文件详解
- 桥接模式
- maven web项目main目录下没有文件夹
- Retrofit/Okhttp Https兼容到Http降级处理实践(信任所有https)
- 银行ATM用况图文档
- 浅入浅出TensorFlow 4
- 递归递推总结
- 内部类
- 猴子管理法则
- File的几个常用方法
- Java子父类间静态代码块、构造代码块、构造方法的执行顺序
- 如何使用XX-Net实现访问真正的互联网