Android使用OkHttp请求自签名的https网站

作者&投稿:成王潘 (若有异议请与网页底部的电邮联系)
~

很多公司考虑到安全问题,项目中都采用https加密协议进行数据传输。但是一些公司又不想花一笔钱去CA申请证书,所以就采用自签名的证书。

OkHttp默认是可以访问通过CA认证的HTTPS链接,例如百度首页也是https链接( https://www.baidu.com/ )。 但是如果是你们公司自签名(即自己用keytool生成的证书,而不是采用通过CA认证的证书)的服务器,OkHttp是无法访问的,例如访问12306网站( https://kyfw.12306.cn/otn/ ) ,会报如下错误:

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。握手过程的简单描述如下:

握手过程中如果有任何错误,都会使加密连接断开,从而阻止了隐私信息的传输。

以下我们使用12306网站为例

注意:别忘了加权限和依赖okhttp库

Demo地址: https://github.com/wildma/okhttps
参考博客: http://blog.csdn.Net/lmj623565791/article/details/48129405




Android O 后台服务限制
大多数时候,你的应用都可以用 JobScheduler 替换掉后台服务。比如,CoolPhotoApp需要检查用户是否接收到好友分享的图片,即使应用不在前台运行。按照之前的做法,应用需要使用后台服务去执行这个任务。升级到Android O后,开发者需要用按一定周期运行的Job替换掉后台服务来执行,查询服务器,完成后退出。在...

简洁更易用 Android O开发者预览版上手
- 对于普通用户来说,Android O的部分特性其实你可能早已在使用; 预览版Android O存在应用兼容性问题,这也是不同版本安卓系统的通病;大家不需要担心Android O的流畅度,这个版本仅是为了预览使用,正式版还有待确定。总的而言,这次Android O的体验确实有一定的提升,但是亮点不足。而且预览版的系统完成度...

miui10安卓o和安卓p哪个省电
综合考虑,miui10基于Android O相对更省电。

谷歌Play影视在安卓O中如何接收并激活画中画模式?
如果你是Android O Developer Preview的尝鲜者,你可能已经发现,通过自定义导航栏的“系统UI调谐器”按钮,可以提前体验这一模式。然而,好消息是,Google正计划简化这一过程,预计在不久的将来,只需轻触“主页”键,就能即刻激活画中画模式。虽然还不是最终形态,但我们可以期待Google对系统进行持续优化,...

Android O预览版发布,那么它都有哪些亮点
1.通知中心 用户在通知界面可以发现顶部的快捷键有了更充裕的空间,并且根据网络大数据的用户使用频繁度调整了这几个快捷键的顺序;并且长按推送消息可以看到一个开关,操作它可以开启和关闭这个该应用的未来所有通知。2.设置菜单 在新的AndroidO系统中,设置的界面有了大幅变化,主菜单的覆盖性变得更广,...

安卓手机发布安卓o发布
第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2017年3月,Android全球网络流量和设备超越MicrosoftWindows,正式成为全球第一大操作系统。2017年8月,AndroidO发布。安卓系统命名方式?安卓系统版本的命名方式一般是用数字代表的,比如安卓1.0,...

Android O发布在即 奥利奥之名是怎么来的
Oreo是Android操作系统最新版本的命名。在过去几个月,开发人员可使用测试版的最新软件,年底前,Oreo将到达手机设备终端。“O”代表什么 关于Android O 中“O”的含义,是外界一个漫长的猜测游戏。按照传统,Google将每个新版本的Android按字母顺序排列,以糖果或甜品命名。例如,最新版本被称为Nougat,往前...

简述如何使用androidstudio对文件进行保存和获取文件中的数据
在Android Studio中,我们可以使用内置的文件I\/O API或者Android的SharedPreferences API来保存和获取文件中的数据。使用内置的文件I\/O API 1. 保存数据到文件:首先,我们需要创建一个FileOutputStream对象,它将用于写入数据到文件中。然后,我们使用OutputStreamWriter将这个FileOutputStream对象转换为字符流,...

安卓系统的7.0与8.0有什么区别
相对于7.0,8.0有以下6点的区别:一、背景后台限制:谷歌从安卓7.0 Nougat就已经开始这一工作,Android O将为用户续航带来极大改善,还有设备交互性能.为了实现这一目标,安卓O将自动智能限制后台应用活动,主要表现在三个方面:隐式广播、后台服务、位置更新.这些变化将使得开发者能更轻松地创建应用程序,...

o键盘柯尔克孜语输入法怎么使用
无法使用。O键盘是一款运行于手机平台的软件,支持Android 2.3,通常o键盘柯尔克孜语输入法是无法使用的,因为柯尔克孜语输入法是专门针对柯尔克孜语最新设计推出的电脑输入法软件,手机不支持。

精河县15946021641: android怎么okhttp用get请求 -
汗汤八珍: 直接上代码: OkHttpClient client = new OkHttpClient(); String run(String url) throws IOException { Request request = new Request.Builder().url(url).build(); Response response = client.newCall(request).execute(); if (response.is...

精河县15946021641: android的okhttp是怎么实现的 -
汗汤八珍: (一)Http Get 对了网络加载库,那么最常见的肯定就是http get请求了,比如获取一个网页的内容.//创建okHttpClient对象 OkHttpClient mOkHttpClient = new OkHttpClient();//创建一个Request final Request request = new Request.Builder()....

精河县15946021641: OkHttp 在 Android 中怎么发送异步请求 -
汗汤八珍: 下面是获取到json字符串. enqueue就是异步请求的意思.OkHttpClient mHttpClient = new OkHttpClient();Request request = new Request.Builder().url(url).build();mHttpClient.newCall(request).enqueue(new Callback() {@Override...

精河县15946021641: android中okhttp里面的请求怎么配置https -
汗汤八珍: okhttp默认情况下是支持https协议的网站的,你可以直接通过okhttp请求.不过要注意的是,支持的https的网站基本都是CA机构颁发的全球信任的SSL证书.网页链接

精河县15946021641: Android Studio怎么加载okHttp -
汗汤八珍: 1、点击File-->Project Structure,如图:2、点击左侧栏的“app”,然后点击顶部导航的“Dependencies”,最后点击“加号”,点击“加号”后,会出现三个选项,选择第一个(添加第三方库),如图:

精河县15946021641: android有几种请求方式okhttp restful -
汗汤八珍: 这个问题有点问题,这并不是三种方式,okhttp只是对网络访问的一个更高层的封装,httpURLConnection和httpClient是具体两种实现访问的方式.

精河县15946021641: Android通过OKhttp从服务器端获取数据 -
汗汤八珍: ①简单的异步Get请求 第一步,创建OKHttpClient对象 第二步,创建Request请求 第三步,创建一个Call对象 第四步,将请求添加到调度中 不多说,直接上代码:12345678910111213141516171819202122232425262728293031//okHttp的基本...

精河县15946021641: 如何使用okhttp库在Android的参数添加到API -
汗汤八珍: 参考下面方法 private final OkHttpClient client = new OkHttpClient(); public void run() throws Exception { RequestBody formBody = new FormEncodingBuilder() .add("email", "Jurassic@Park.com") .add("tel", "90301171XX") .build(); ...

精河县15946021641: android使用okhttp 向服务器post怎样传 -
汗汤八珍: public String androidPost() { String rs = null; String path = "url/Android_JDBC_SH/AndroidLoginAction"; HttpPost hp = new HttpPost(path); //获取客户端,用来向服务器发出请求 DefaultHttpClient hc = new DefaultHttpClient(); try { //Default ...

精河县15946021641: android okhttp post json和get有什么区别 -
汗汤八珍: 区别是:Get:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述.Post:用来向目的服务器发出请求,要求它接受...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网