New file |
| | |
| | | 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<String, String> 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<String, String> 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<String, String> 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<String, String> 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; |
| | | } |
| | | |
| | | } |