| | |
| | | package com.fzzy.push.nx2023; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.fzzy.api.entity.ApiConfs; |
| | | 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; |
| | |
| | | * @throws Exception |
| | | */ |
| | | @SuppressWarnings("resource") |
| | | public static Nx2023RespDto postPushData(String url, String reqData , ApiConfs apiConfs) throws Exception { |
| | | public static Nx2023RespDto postPushData(String url, String reqData) throws Exception { |
| | | log.info("---------接口请求地址:" +url+ "----------参数:" + reqData +"---------"); |
| | | BufferedReader in = null; |
| | | URL urls = new URL(url); |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |