java 访问https忽略证书

来源:互联网 发布:数据库查询手机号是 编辑:程序博客网 时间:2024/04/30 15:31
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import java.security.cert.X509Certificate;import javax.net.ssl.SSLContext;import javax.net.ssl.HttpsURLConnection;import java.security.SecureRandom;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.SSLSession;import javax.security.cert.CertificateException;public class HttpDemo { private static final String SYS_VULLN_URL_JSON="https://10.65.80.34/api/template/webvuln/list?username=admin&password=nsfocus123";final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {public boolean verify(String hostname, SSLSession session) {return true;}};                                                public static void httpGet(){    StringBuffer tempStr = new StringBuffer();    String responseContent="";       HttpURLConnection conn = null;    try {                // Create a trust manager that does not validate certificate chains            trustAllHosts();        URL url = new URL(SYS_VULLN_URL_JSON);                         HttpsURLConnection https = (HttpsURLConnection)url.openConnection();if (url.getProtocol().toLowerCase().equals("https")) {https.setHostnameVerifier(DO_NOT_VERIFY);conn = https;} else {conn = (HttpURLConnection)url.openConnection();}            conn.connect();            System.out.println(conn.getResponseCode() + " " + conn.getResponseMessage());    //HttpURLConnection conn = (HttpURLConnection) url.openConnection();//conn.setConnectTimeout(5000);//conn.setReadTimeout(5000);//conn.setDoOutput(true);            ////InputStream in = conn.getInputStream();//conn.setReadTimeout(10*1000);//BufferedReader rd = new BufferedReader(new InputStreamReader(in,//"UTF-8"));//String tempLine;//while ((tempLine = rd.readLine()) != null) {//tempStr.append(tempLine);//}//responseContent = tempStr.toString();            //System.out.println(responseContent);//rd.close();//in.close();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch(Exception e){            e.printStackTrace();        }    }        /** * Trust every server - dont check for any certificate */private static void trustAllHosts() {// Create a trust manager that does not validate certificate chainsTrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {public java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[] {};}public void checkClientTrusted(X509Certificate[] chain, String authType)  {}public void checkServerTrusted(X509Certificate[] chain, String authType) {}} };// Install the all-trusting trust managertry {SSLContext sc = SSLContext.getInstance("TLS");sc.init(null, trustAllCerts, new java.security.SecureRandom());HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {httpGet();}}

0 0
原创粉丝点击