Android HttpUrlConnection如何使用Https连接
2016-01-10 22:58
711 查看
一个小的demo
public String login(String uid, String password){ HttpsURLConnection connection=null; try { TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); KeyStore trusted = KeyStore.getInstance("PKCS12", "BC"); trusted.load(null, null); InputStream in = getAssets().open("server.crt"); CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); Certificate certificate = certificateFactory.generateCertificate(in); trusted.setCertificateEntry("trust", certificate); in.close(); tmf.init(trusted); TrustManager[] tms = tmf.getTrustManagers(); SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null,tms,new SecureRandom()); URL url = new URL("https://127.0.0.1:8080/login"); connection= (HttpsURLConnection)url.openConnection(); connection.setSSLSocketFactory(sc.getSocketFactory()); connection.setRequestMethod("POST"); connection.setConnectTimeout(3000);//连接的超时时间 connection.setDoOutput(true); connection.setDoInput(true); //connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("charset", "utf-8"); connection.connect(); OutputStreamWriter osw=new OutputStreamWriter(connection.getOutputStream()); osw.write("uid="+uid+"&pass_word="+password); osw.flush(); osw.close(); BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder sb=new StringBuilder(); String aLine=null; while ((aLine=reader.readLine())!=null){ sb.append(aLine).append("\n"); } reader.close(); return sb.toString(); }catch (Exception e){ e.printStackTrace(); return e.getMessage(); }finally { if(connection!=null){ connection.disconnect(); } } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories