java请求WEB服务器 获取页面返回,且支持HTTPS,获取cret证书
/**
* 可抓取页面内容 和 网站 证书信息
* 第三方OAUTH互联登录的时候 可以利用请求获取返回值
**/
import java.io.*; import java.net.*; import java.security.*; import java.security.cert.*; import javax.net.ssl.*; public class SendUrlHttps { String url = ""; myX509TrustManager xtm = new myX509TrustManager(); myHostnameVerifier hnv = new myHostnameVerifier(); public String getResult(String HttpsUrl) { this.url = HttpsUrl; SSLContext sslContext = null; try { sslContext = SSLContext.getInstance("TLS"); X509TrustManager[] xtmArray = new X509TrustManager[] { xtm }; sslContext.init(null, xtmArray, new java.security.SecureRandom()); } catch (GeneralSecurityException gse) { } if (sslContext != null) { HttpsURLConnection.setDefaultSSLSocketFactory(sslContext .getSocketFactory()); } HttpsURLConnection.setDefaultHostnameVerifier(hnv); String res = ""; try { URLConnection urlCon = (new URL(url)).openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader( urlCon.getInputStream())); String line; while ((line = in.readLine()) != null) { // System.out.println(line); res += line; } } catch (MalformedURLException mue) { mue.printStackTrace(); } catch (IOException ioe) { ioe.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return res; } public static void main(String args[]) { SendUrlHttps t = new SendUrlHttps(); String s = t.getResult("https://kyfw.12306.cn"); System.out.println(s); } } class myX509TrustManager implements X509TrustManager { public myX509TrustManager() { } public void checkClientTrusted(X509Certificate[] chain, String authType) { } public void checkServerTrusted(X509Certificate[] chain, String authType) { System.out.println("cert: " + chain[0].toString() + ", authType: " + authType); } public X509Certificate[] getAcceptedIssuers() { return null; } } class myHostnameVerifier implements HostnameVerifier { public myHostnameVerifier() { } public boolean verify(String hostname, SSLSession session) { System.out.println("hostname: " + hostname); return true; } }