• 之前用的网络请求框架是鸿洋的OkHttpUtils,网络请求在5.0手机上使用https没有问题,但是最近突然使用了一个4.4的系统,就报错SSLException ....咋地咋地

  • 然后 我们的副总给我们找一个博客,如何解决4.+系统出现的这个问题(虽然我现在还很有点懵逼...),然后添加上去后,就可以使用了。在Okgo ,OkHttpUtils 都可以用,那么的网络请求应该也可以用?!!(别的没有测) -然后我先贴一下那个仁兄的博客吧 链接地址 ,使用TLSSocketFactory 类

  • 然后就是在全局初始化的时候使用这个类 , 那个第二次参数,就用他提供的。 ··· OkHttpClient okHttpClient = null; try { HttpsUtils.SSLParams sslParams = HttpsUtils.getSslSocketFactory(null, null, null); okHttpClient = new OkHttpClient.Builder() .addInterceptor(new LoggerInterceptor("history")) .sslSocketFactory(new TLSSocketFactory() , sslParams.trustManager)//这里使用!!! .build(); } catch (KeyManagementException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } OkHttpUtils.initClient(okHttpClient); ···

  • 用OKgo也一样的,第二个参数如果不想用框架自带的我在下面贴出来。

  • 这是 TSsX509TrustManager ···

public class SsX509TrustManager implements X509TrustManager { private static TrustManager[] trustManagers; private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[]{};

@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException {//To change body of implemented methods use File | Settings | File Templates.
}@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException {//To change body of implemented methods use File | Settings | File Templates.
}@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[0];
}public boolean isClientTrusted(X509Certificate[] chain) {return true;
}public boolean isServerTrusted(X509Certificate[] chain) {return true;
}public static X509Certificate[] get_AcceptedIssuers() {return _AcceptedIssuers;
}/*** 允许所有的SSL请求,添加在new StringRequest()之前*/
public static void allowAllSSL() {HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {@Overridepublic boolean verify(String arg0, SSLSession arg1) {// TODO Auto-generated method stubreturn true;}});SSLContext context = null;if (trustManagers == null) {trustManagers = new TrustManager[]{new SsX509TrustManager()};}try {context = SSLContext.getInstance("TLS");context.init(null, trustManagers, new SecureRandom());} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (KeyManagementException e) {e.printStackTrace();}HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());
}
复制代码

}

···

Android 4 +https(如何启动TLS1 1 and TLS1 2)相关推荐

  1. Android:四种启动模式分析

    2019独角兽企业重金招聘Python工程师标准>>> 在一个项目中会包括着多个Activity,系统中使用任务栈来存储创建的Activity实例,任务栈是一种"后进先出& ...

  2. Android服务一 创建启动服务

    若要学习创建绑定服务,请查看下篇Android服务二 创建绑定服务 启动服务 基于Service package service;import android.app.Service; import ...

  3. android的四种启动模式,(转)彻底弄懂Activity四大启动模式

    原地址:https://blog..net/mynameishuangshuai/article/details/51491074 最近有几位朋友给我留言,让我谈一下对Activity启动模式的理解. ...

  4. Android应用程序内部启动Activity过程(startActivity)的源代码分析

    上文介绍了Android应用程序的启动过程,即应用程序默认Activity的启动过程,一般来说,这种默认Activity是在新的进程和任务中启动的:本文将继续分析在应用程序内部启动非默认Activit ...

  5. 通过Android上的意图启动Google地图路线

    本文翻译自:Launching Google Maps Directions via an intent on Android My app needs to show Google Maps dir ...

  6. 解决unity 打包在Android 8.0上启动出现黑屏问题(Android权限弹窗问题)

    解决unity 打包在Android 8.0上启动出现黑屏问题 本文链接:https://blog.csdn.net/baidu_34248947/article/details/89377983 我 ...

  7. Android 系统服务 - PMS 的启动过程

    相关文章链接: 1. Android Framework - 学习启动篇 2. Android 系统服务 - PMS 的启动过程 相关源码文件: frameworks/base/services/co ...

  8. Android Studio 第一次安装启动Failed to resolve报错解决方案

    笔者近期准备着手做一个有关安卓的项目,兴冲冲地找来Android学习书籍,并下载安装了Android Studio.可是在Android Studio的第一次运行就遇到了很大的问题,各种莫名其妙的报错 ...

  9. 58 同城 Android 端 HTTPS 实践之旅

    自 WWDC 2016 苹果传递出从 2017 年 1 月起强制启用应用程序安全传输协议(App Transport Security)的信号,各大厂均开始了 HTTPS 化的征程.虽然目前苹果将此计 ...

  10. android 启动linux命令行模式,Android用命令行启动应用

    Android是基于Linux内核的操作系统,用Java写的应用程序被Android运行时虚拟机运行. 因为Android是基于Linux的,而Linux执行ELF格式的可执行文件,所以用C++编写的 ...

最新文章

  1. CentOS通过 All-in-One 模式安装 KubeSphere技巧
  2. 首个波士顿动力机器狗买家秀来了:化身监工,确认路线后就能自动巡航
  3. vue----常用实例方法--$mount(),$destroy(),$watch(),$forceUpdate()
  4. netstat -an中state含义
  5. java 删除某一个学生_java编写一个程序,实现功能(定义一个类学生表示学生1. 增加学生2显示 3. 修改 4. 删除5查找某...
  6. Canvas or SVG?一张好图,两手准备,就在 ECharts 4.0
  7. C++ Notes(focus on c++)
  8. python访问注册表_python3操作注册表
  9. C# LINQ系列:LINQ to DataSet的DataTable操作 及 DataTable与Linq相互转换
  10. 152.乘积最大子序列
  11. xcode 自定义Eclipse里边常用的快捷键
  12. 编译CWM-recovery
  13. 查看游戏服务器ip地址网站,查看游戏服务器IP地址
  14. ESP8266 +0.96“ I2C OLED 表盘时钟
  15. widows安装wxPython
  16. 【Tools系列】在Win7系统上利用Simics安装Solaris 8 SPARC操作系统
  17. vite、vue3警告:Component inside <Transition> renders non-element root node that cannot be animated.
  18. ai动漫生成软件哪个好?这篇文章告诉你
  19. spyder 护眼背景--纯黑色
  20. 豆豆趣事[2014年08月]

热门文章

  1. 竟然被尤雨溪点赞了:我给Vue生态贡献代码的这一年
  2. 手写一个合格的前端脚手架
  3. VS2010 VC Project的default Include设置
  4. 江苏一动物园现“旋转活马” 园方:创意来自马术训练
  5. QML-关于Qt.rgba()颜色无法正常显示问题
  6. MySQL——通过EXPLAIN分析SQL的执行计划
  7. DataArtisans战略联手阿里云 Apache Flink服务能力云化
  8. 配置三台服务器组成的ELK集群(二)
  9. 01-H5语义化标签
  10. laravel 内部验证码