|
@@ -0,0 +1,96 @@
|
|
|
+package com.caimei365.tools.utils;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+
|
|
|
+import java.io.BufferedReader;
|
|
|
+import java.io.InputStreamReader;
|
|
|
+import java.io.OutputStream;
|
|
|
+import java.net.HttpURLConnection;
|
|
|
+import java.net.URL;
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 短信工具类
|
|
|
+ * 创蓝云智短信平台:https://zz.253.com/control/login
|
|
|
+ *
|
|
|
+ * @author : Charles
|
|
|
+ * @date : 2021/6/17
|
|
|
+ */
|
|
|
+public class SmsUtil {
|
|
|
+ /** 通知短信 账户 */
|
|
|
+ private static final String ACCOUNT_NOTICE = "N2532063";
|
|
|
+ private static final String PASSWORD_NOTICE = "jzVvYmuP4D7f1b";
|
|
|
+ /** 验证码短信 账户 */
|
|
|
+ private static final String ACCOUNT_YZM = "YZM6372171";
|
|
|
+ private static final String PASSWORD_YZM = "1L8ZaIEW7fa3ca";
|
|
|
+ /** 营销短信 账户 */
|
|
|
+ private static final String ACCOUNT_ADS = "M1666161";
|
|
|
+ private static final String PASSWORD_ADS = "TO3xSGvEUk6ddc";
|
|
|
+ /** 请求地址 */
|
|
|
+ private static final String SMS_URL = "http://smssh1.253.com/msg/send/json";
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 发送短信
|
|
|
+ *
|
|
|
+ * @param type 短信类型:1通知短信,2验证码短信,3营销短信
|
|
|
+ * @param mobile 手机号
|
|
|
+ * @param content 短信内容
|
|
|
+ */
|
|
|
+ public static String sendSms(Integer type, String mobile, String content){
|
|
|
+ JSONObject params = new JSONObject();
|
|
|
+ if (null != type && 2 == type) {
|
|
|
+ // 验证码短信
|
|
|
+ params.put("account", ACCOUNT_YZM);
|
|
|
+ params.put("password", PASSWORD_YZM);
|
|
|
+ } else if (null != type && 3 == type) {
|
|
|
+ // 营销短信
|
|
|
+ params.put("account", ACCOUNT_ADS);
|
|
|
+ params.put("password", PASSWORD_ADS);
|
|
|
+ } else {
|
|
|
+ // 通知短信
|
|
|
+ params.put("account", ACCOUNT_NOTICE);
|
|
|
+ params.put("password", PASSWORD_NOTICE);
|
|
|
+ }
|
|
|
+ // 手机号
|
|
|
+ params.put("phone", mobile);
|
|
|
+ // 短信内容
|
|
|
+ params.put("msg", content);
|
|
|
+ // 是否需要状态报告
|
|
|
+ params.put("report", "true");
|
|
|
+
|
|
|
+ String requestContent = params.toString();
|
|
|
+ URL url = null;
|
|
|
+ try {
|
|
|
+ url = new URL(SMS_URL);
|
|
|
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
|
+ connection.setRequestMethod("POST");
|
|
|
+ connection.setConnectTimeout(10000);
|
|
|
+ connection.setReadTimeout(10000);
|
|
|
+ // 发送POST请求必须设置如下两行
|
|
|
+ connection.setDoOutput(true);
|
|
|
+ connection.setDoInput(true);
|
|
|
+ connection.setRequestProperty("Charset", "UTF-8");
|
|
|
+ connection.setRequestProperty("Content-Type", "application/json");
|
|
|
+ connection.connect();
|
|
|
+ OutputStream os=connection.getOutputStream();
|
|
|
+ os.write(requestContent.getBytes(StandardCharsets.UTF_8));
|
|
|
+ os.flush();
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ int httpRspCode = connection.getResponseCode();
|
|
|
+ if (httpRspCode == HttpURLConnection.HTTP_OK) {
|
|
|
+ // 开始获取数据
|
|
|
+ BufferedReader br = new BufferedReader(
|
|
|
+ new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8));
|
|
|
+ String line = null;
|
|
|
+ while ((line = br.readLine()) != null) {
|
|
|
+ sb.append(line);
|
|
|
+ }
|
|
|
+ br.close();
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+}
|