java用ssl和url共同类实现访问某https网站
2013-12-13 00:00
691 查看
摘要: java用ssl和url共同类实现访问某https网站
package test; import java.io.*; import java.net.*; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.*; public class URLSTest { private static class TrustAnyTrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[] {}; } } private static class TrustAnyHostnameVerifier implements HostnameVerifier { public boolean verify(String hostname, SSLSession session) { return true; } } public static void main(String[] args) throws Exception { InputStream in = null; OutputStream out = null; byte[] buffer = new byte[4096]; String str_return = ""; try { SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom()); URL console = new URL( "https://ebank.xxxxx.com/pweb/test.do?actionType=1"); HttpsURLConnection conn = (HttpsURLConnection) console .openConnection(); conn.setSSLSocketFactory(sc.getSocketFactory()); conn.setHostnameVerifier(new TrustAnyHostnameVerifier()); conn.connect(); InputStream is = conn.getInputStream(); DataInputStream indata = new DataInputStream(is); String ret = ""; while (ret != null) { ret = indata.readLine(); if (ret != null && !ret.trim().equals("")) { str_return = str_return + new String(ret.getBytes("ISO-8859-1"), "GBK"); } } conn.disconnect(); } catch (ConnectException e) { System.out.println("ConnectException"); System.out.println(e); throw e; } catch (IOException e) { System.out.println("IOException"); System.out.println(e); throw e; } finally { try { in.close(); } catch (Exception e) { } try { out.close(); } catch (Exception e) { } } System.out.println(str_return); } }
相关文章推荐
- Socket/TCP粘包、多包和少包, 断包 问题
- VM网络无法连接--提示ethernet0无法连接到虚拟网络
- 网络编程——客户端程序
- 网络编程——服务器程序
- html文件中,meta标签中的http-equiv属性使用介绍
- Linux网络接口配置文件ifcfg-eth0解析
- 过滤某个域用户的属性
- tcp/ip详解总结
- 基于MINA框架快速开发网络应用程序
- HTTP请求错误400、401、402、403、404、405、406、407、412、414、500、501、502解析
- xzben 网络框架结构说明
- 谷歌审查元素获取网络资源链接
- ios网络编程开发浅析(一)
- 【自由谈】城域网IPv6过渡技术——Radius扩展属性
- http 请求头字段
- Nutch-2.2.1学习之五Nutch抓取数据在HBase中的存储
- Ubuntu网络配置以DHCP方式配置网卡
- 【Cocos2d-x游戏引擎开发笔记】CCHttpRequest联网
- hibernate 注解配置<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X
- csrf 同源策略 xmlhttprequest跨域 xml