package com.oying.utils; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.URL; import java.security.cert.CertificateException; import java.util.HashMap; import java.util.Map; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.security.cert.X509Certificate; /** * @author xin * @description * @date 2025/6/4 01:48 */ public class Test { public static void main(String[] args) { String url = "https://118.178.116.15:8443/winnerrxd/api/trigger/SendMsg "; Map paramMap = new HashMap<>(); paramMap.put("userCode", "CQLYSXYJ"); paramMap.put("userPass", "lych1205!"); paramMap.put("DesNo", "15213186640"); paramMap.put("Msg", "短信内容【立研】"); paramMap.put("smsType","短信类型"); try { //GET请求 httpsGet(url, paramMap); //POST请求 httpsPost(url, paramMap); } catch (Exception e) { e.printStackTrace(); System.err.println("调用https失败:"+e); } } private static class TrustAnyTrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[] {}; } } private static class TrustAnyHostnameVerifier implements HostnameVerifier { public boolean verify(String hostname, SSLSession session) { return true; } } public static String httpsGet(String url,Map params) throws Exception { String result = ""; BufferedReader in = null; try { String urlStr = url + "?" + getParamStr(params); System.out.println("GET请求的URL为:"+urlStr); SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom()); URL realUrl = new URL(urlStr); // 打开和URL之间的连接 HttpsURLConnection connection = (HttpsURLConnection) realUrl.openConnection(); //设置https相关属性 connection.setSSLSocketFactory(sc.getSocketFactory()); connection.setHostnameVerifier(new TrustAnyHostnameVerifier()); connection.setDoOutput(true); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } System.out.println("获取的结果为:"+result); } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); //e.printStackTrace(); throw e; } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { //e2.printStackTrace(); throw e2; } } return result; } public static String httpsPost(String url, Map params) throws Exception{ String result = ""; BufferedReader in = null; String content = getParamStr(params); try { System.out.println("POST请求的URL为:"+url); SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, new TrustManager[] { new TrustAnyTrustManager() }, new java.security.SecureRandom()); URL console = new URL(url); HttpsURLConnection connection = (HttpsURLConnection) console.openConnection(); connection.setSSLSocketFactory(sc.getSocketFactory()); connection.setHostnameVerifier(new TrustAnyHostnameVerifier()); connection.setDoOutput(true); connection.connect(); DataOutputStream out = new DataOutputStream(connection.getOutputStream()); out.write(content.getBytes("UTF-8")); // 刷新、关闭 out.flush(); out.close(); // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } System.out.println("获取的结果为:"+result); } catch (Exception e) { System.out.println("发送POST请求出现异常!" + e); //e.printStackTrace(); throw e; } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { //e2.printStackTrace(); throw e2; } } return result; } private static String getParamStr(Map params) { String paramStr=""; if(params != null && params.size() >0){ // 获取参数列表组成参数字符串 for (String key : params.keySet()) { paramStr+=key+"="+params.get(key)+"&"; } //去除最后一个"&" paramStr=paramStr.substring(0, paramStr.length()-1); } return paramStr; } }