前言:
在android开发中,会涉及到安全比较高的业务,比如银行,网上交易等,这就涉及到https协议的交互
对于https 交互过程分两个阶段
1. 客户端获取服务器的证书,并验证证书的内容是否可信
2. 客户端和服务器端进行握手协议,并进行数据传输
对于https 交互过程,第一点,采用了网站可信的方式,如有需要验证域名和证书是否一致的,请自我扩展
实现的过程:
1): 注册scheme of https
注意:
HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
如果需要验证,则,自己继承HostnameVerifier ,并实现接口。
2):获取 httpClient 和 httpPost
3):获取数据
下面是实现的源码,参数就是https路径:
1 public String GetData(String URL)
2 {
3 String returns="";
4
5 //Step One register scheme of https
6 HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
7
8 SchemeRegistry registry = new SchemeRegistry();
9 SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
10 socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
11 registry.register(new Scheme("https", socketFactory, 443));
12 registry.register(new Scheme("http",PlainSocketFactory.getSocketFactory (), 80));
13
14 //Step Two Get httpClient and httpPost
15
16 DefaultHttpClient client = new DefaultHttpClient();
17 SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);
18 DefaultHttpClient httpClient = new DefaultHttpClient(mgr, client.getParams());
19 //------- Set verifier
20 HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
21 // -------Example send http request
22 // final String url = "https://martinreichart.com/_tmpdata/login_valid.json";
23 HttpPost httpPost = new HttpPost(URL);
24
25 //Step Three Get Data
26 try {
27 HttpResponse response = httpClient.execute(httpPost);
28 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
29 // 解析返回的内容
30 returns = EntityUtils.toString(response.getEntity());
31 }
32 }
33 catch(Exception ex)
34 {
35
36 String aa =ex.toString();
37 }
38
39 return returns;
40 }
分享到:
相关推荐
基于微信小程序开发的web商城项目,前后端分离,接口采用json数据进行交互 基于微信小程序开发的web商城项目,前后端分离,接口采用json数据进行交互 基于微信小程序开发的web商城项目,前后端分离,接口采用json...
Android平台手机访问Web服务器的有效数据交互方法
php与Android用json进行数据交互
android中不同app间数据交互(1、简单一次性数据交互)源码
《创意之钥:Android手机交互应用开发》以android手机交互开发为平台,定位于创意从产生到实际应用的过程,将书中内容分为创意的真空、创意的奇点和创意大爆炸三篇。作者分别从灵感的获取、如何在android开发中发挥...
Android开发,通过使用mqtt3.1.1版本和mqtt5.0版本进行mqtt数据的发送和接收,实现和服务端数据的交互
Android手机访问服务器的一种数据交互方法.pdf
最近的Android项目开发过程中一个问题困扰自己很长时间,Android客户端与服务器交互有几种方式,最常见的就是webservices和json。要在Android手机客户端与pc服务器交互,需要满足下面几种条件:跨平台、传输数据格式...
android系统利用json数据格式与服务器进行交互, 压缩包里有服务端代码和android端代码两个工程目录。 在win7系统用android4.1.2模拟器和Tomcat6服务器测试通过的, 注意根据自己的实际情况更改代码中的ip和端口...
我也是刚开始学习Android,这个是我的第一个练习项目,里面主要涉及了Android客户端的布局以及与.net开发的webservice 的数据交互,Android客户端包括 登录,注册,很适合新手学习哦!如果有需本地测试的请将Android...
Android手机访问服务器的一种数据交互方法
做过 Android 混合开发的,应该都知道 Android 中 Java 代码和 Javascript 代码之间的交互怎么做。 首先回顾一下 Java 和 Javascript 之间的交互。 JavaScript 调用 Java Android 中 WebView 添加供 Html 页面调用的...
Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。 Android客户端与服务器端的json数据交互(内含大量知识点),包含文件的上传,文件浏览器等。
基于Android的APP前端数据交互.pdf
android + h5 混合开发 webview 版 小实例 + 数据交互 + 界面交互+ js调用java +java 调用js
本程序是用Delphi开发的可用于Android访问的数据中心服务的WebService,完成最基本功能执行数据库的数据查询.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
基于webservice的Android与服务器端数据交互。
本资源主要历史性讲解了项目之间是如何进行数据交互的。
自己写的一个小Dome,不是项目,主要是使用USB数据线来连接PC端和Android端进行一个数据的交互。一个PC端的客户端类,和Android端的服务端代码。
Android客户端与服务端的JSON交互数据的实现,实现了客户端与服务端交互JSON数据的实现,有比较好的学习意义,积分也比较少