From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/common/utils/SmsUtils.java | 127 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 127 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/SmsUtils.java b/src/main/java/org/springblade/common/utils/SmsUtils.java
new file mode 100644
index 0000000..288aae1
--- /dev/null
+++ b/src/main/java/org/springblade/common/utils/SmsUtils.java
@@ -0,0 +1,127 @@
+package org.springblade.common.utils;
+
+import liquibase.repackaged.org.apache.commons.lang3.text.StrSubstitutor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SmsUtils {
+
+ private static Logger logger = LoggerFactory.getLogger(SmsUtils.class);
+
+ public static String buildRequestXMLString(String id, String pwd, String serviceid, String phone, String content) {
+ StringBuffer sb = new StringBuffer();
+
+ sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")
+ .append("<svc_init ver=\"2.0.0\">")
+ .append("<sms ver=\"2.0.0\">")
+ .append("<client>")
+ .append("<id>").append(id).append("</id>")
+ .append("<pwd>").append(pwd).append("</pwd>")
+ .append("<serviceid>").append(serviceid).append("</serviceid>")
+ .append("</client>")
+ .append("<sms_info>")
+ .append("<phone>").append(phone).append("</phone>")
+ .append("<content>").append(content).append("</content>")
+ .append("</sms_info>")
+ .append("</sms>")
+ .append(" </svc_init>");
+
+ logger.info("buildRequestXMLString:" + sb.toString());
+ return sb.toString();
+ }
+
+ public static String postXMLSendSMSRequest(String servletUrl, String content) {
+ String result = null;
+
+ BufferedReader br = null;
+ OutputStreamWriter out = null;
+ HttpURLConnection con = null;
+
+ try {
+ URL url = new URL(servletUrl);
+
+ con = (HttpURLConnection) url.openConnection();
+ con.setDoOutput(true);
+ con.setRequestMethod("POST");
+
+ out = new OutputStreamWriter(con.getOutputStream(), "UTF-8");
+
+ out.write(content);
+
+ out.flush();
+
+ br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
+
+ String line = null;
+
+ StringBuilder sb = new StringBuilder();
+
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ }
+
+ result = sb.toString();
+
+ System.out.println(result);
+ logger.info("postXMLSendSMSRequest:" + result);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ if (con != null) {
+ con.disconnect();
+ con = null;
+ }
+ }
+
+ return result;
+ }
+
+
+ public static void send(String phone, Map<String, String> content) {
+
+ StrSubstitutor strSubstitutor = new StrSubstitutor(content);
+ String url3 = "【上饶基层自治】您正在验证投票操作,验证码:${code}。如非本人操作,则密码可能已泄露,建议立即修改密码或联系客服。";
+ String context3 = strSubstitutor.replace(url3);
+ String MAS_ID = "182";
+ String PASSWORD = "bYcLgYwXOZspDzEnaGsNHAGUykKEiexknHY9H98xVTQ8Zbeya8bexQ==";
+ String reqXML = buildRequestXMLString(MAS_ID, PASSWORD, "", phone, context3);
+ postXMLSendSMSRequest("http://218.204.110.232:8080/emc/HttpSendSMSService", reqXML);
+ }
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ //下面的MAS_ID、PASSWORD仅供测试使用,正式使用由移动公司分配
+ String MAS_ID = "182";
+ String PASSWORD = "bYcLgYwXOZspDzEnaGsNHAGUykKEiexknHY9H98xVTQ8Zbeya8bexQ==";
+ String reqXML = buildRequestXMLString(MAS_ID, PASSWORD, "", "18720768376", "测试短信");
+ postXMLSendSMSRequest("http://218.204.110.232:8080/emc/HttpSendSMSService", reqXML);
+ }
+}
+
--
Gitblit v1.9.3