|  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSON; | 
|---|
|  |  |  | import com.fzzy.push.nx2023.dto.Nx2023RespDto; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import javax.net.ssl.HostnameVerifier; | 
|---|
|  |  |  | import javax.net.ssl.HttpsURLConnection; | 
|---|
|  |  |  | import javax.net.ssl.SSLSession; | 
|---|
|  |  |  | import java.io.BufferedReader; | 
|---|
|  |  |  | import java.io.InputStreamReader; | 
|---|
|  |  |  | import java.io.OutputStream; | 
|---|
|  |  |  | 
|---|
|  |  |  | String rs = ""; | 
|---|
|  |  |  | Nx2023RespDto responseDto; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | //https请求忽略ssl证书,该部分必须在获取connection前调用 | 
|---|
|  |  |  | trustAllHttpsCertificates(); | 
|---|
|  |  |  | HostnameVerifier hv = new HostnameVerifier() { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean verify(String urlHostName, SSLSession session) { | 
|---|
|  |  |  | log.info("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost()); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | HttpsURLConnection.setDefaultHostnameVerifier(hv); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | connection = (HttpURLConnection) urls.openConnection(); | 
|---|
|  |  |  | connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); | 
|---|
|  |  |  | 
|---|
|  |  |  | connection = null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) | 
|---|
|  |  |  | throws java.security.cert.CertificateException { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) | 
|---|
|  |  |  | throws java.security.cert.CertificateException { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|