Android HTTPS请求总结
来源:互联网 发布:大数据对驾校的影响 编辑:程序博客网 时间:2024/06/05 17:39
HttpClient
KeyStore keyStore;URI url = null;HttpGet req = null;
try{ //获取asset文件夹下的证书 AssetManager am = mContext.getAssets(); InputStream ins = am.open("my.crt"); //证书格式转换 IE 工具->internet->内容->证书
try { //读取证书 CertificateFactory cerFactory = CertificateFactory.getInstance("X.509"); //证书工厂。此处指明证书的类型 Certificate cer = cerFactory.generateCertificate(ins); //创建一个证书库,并将证书导入证书库 keyStore = KeyStore.getInstance("PKCS12", "BC"); //问2 http://www.csdn.net/article/2015-01-06/2823434 keyStore.load(null, null); keyStore.setCertificateEntry("trust", cer); } finally { ins.close(); } //把咱的证书库作为信任证书库 SSLSocketFactory socketFactory = new SSLSocketFactory(keyStore); Scheme sch = new Scheme("https", socketFactory, 443); //完工 HttpClient mHttpClient = new DefaultHttpClient(); mHttpClient.getConnectionManager().getSchemeRegistry().register(sch); url = new URI(gm.url+gm.param); //url = new URI(gm.url+gm.param); req = new HttpGet(url); HttpGet requestGet = new HttpGet(url); HttpResponse httpResponse = mHttpClient.execute(requestGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); result = EntityUtils.toString(httpEntity); result = result.replaceAll("\r", ""); }}catch (Exception e){}
HttpsURLConnection
CertificateFactory cf = CertificateFactory.getInstance("X.509");// From// https://www.washington.edu/itconnect/security/ca/load-der.crtInputStream caInput = mContext.getAssets().open("_.lianluo.com_bundle.crt");//InputStream caInput = mContext.getAssets().open("nginx.crt");Certificate ca;try { ca = cf.generateCertificate(caInput);} finally { caInput.close();}// Create a KeyStore containing our trusted CAsString keyStoreType = KeyStore.getDefaultType();KeyStore keyStore = KeyStore.getInstance(keyStoreType);keyStore.load(null, null);keyStore.setCertificateEntry("ca", ca);// Create a TrustManager that trusts the CAs in our KeyStoreString tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();TrustManagerFactory tmf = TrustManagerFactory .getInstance(tmfAlgorithm);tmf.init(keyStore);// Create an SSLContext that uses our TrustManagerSSLContext context = SSLContext.getInstance("TLS");context.init(null, tmf.getTrustManagers(), null);URL url = new URL(path);HttpsURLConnection urlConnection = (HttpsURLConnection) url .openConnection();//urlConnection.setConnectTimeout(5 * 1000);urlConnection.setRequestMethod("GET");//urlConnection.setSSLSocketFactory(context.getSocketFactory());InputStream in = urlConnection.getInputStream();if(urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK){ return readStream(in);}
0 0
- Android HTTPS请求总结
- https请求方法总结
- Android 请求https 网址
- Android请求Https网址
- Android--https请求
- Android Https请求详解
- android 请求https接口
- Android Https请求调用
- android 使用https请求
- Android 实现 HttpClient 请求Https
- Android Https请求详细demo
- Android Https请求详细demo
- Android Https请求详细demo
- Android WebView https请求问题。
- Android Https请求详细demo
- Android Https请求详细demo
- android http 和https请求
- android Https请求的使用
- SpringMVC下处理请求(配置Controller)
- zoj1610
- 1012. The Best Rank (25)
- 关键词抽取(keywords extraction)的相关研究
- Jquery动态添加行
- Android HTTPS请求总结
- 纯CSS实现图片水平垂直居中于DIV(图片未知宽高)
- Android应用启动黑屏、白屏解决方法
- 域名解析基础知识(NS,A记录,CNAME,MX)
- zoj1619
- 你的团队健康吗?如何打造一支健康的团队?
- C语言的属性:__attribute__
- 为什么你有10年经验,但成不了专家?
- zoj1622