package cn.com.admaster.migsender.utils; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLSession; /** * Created by qeekey on 17/7/3. */ public class Test { public static HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost()); return true; } }; private static void trustAllHttpsCertificates() throws Exception { javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1]; javax.net.ssl.TrustManager tm = new miTM(); trustAllCerts[0] = tm; javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext .getInstance("SSL"); sc.init(null, trustAllCerts, null); javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc .getSocketFactory()); } static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public boolean isServerTrusted( java.security.cert.X509Certificate[] certs) { return true; } public boolean isClientTrusted( java.security.cert.X509Certificate[] certs) { return true; } public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } } public static void main(String[] args) throws Exception { URL reqURL = new URL( "https://www.mydata.com/api_v1/medias.json"); // 创建URL对象 Test t = new Test(); t.trustAllHttpsCertificates(); HttpsURLConnection.setDefaultHostnameVerifier(hv); HttpsURLConnection httpsConn = (HttpsURLConnection) reqURL .openConnection(); /* * 下面这段代码实现向Web页面发送数据,实现与网页的交互访问 httpsConn.setDoOutput(true); * OutputStreamWriter out = new * OutputStreamWriter(huc.getOutputStream(), "8859_1"); out.write( "……" * ); out.flush(); out.close(); */ // 取得该连接的输入流,以读取响应内容 InputStreamReader insr = new InputStreamReader( httpsConn.getInputStream()); // 读取服务器的响应内容并显示 int respInt = insr.read(); while (respInt != -1) { System.out.print((char) respInt); respInt = insr.read(); } } }
访问https
猜你喜欢
转载自fireinwind.iteye.com/blog/2382691
今日推荐
周排行