package org.springblade.common.utils; 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; 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("") .append("") .append("") .append("") .append("").append(id).append("") .append("").append(pwd).append("") .append("").append(serviceid).append("") .append("") .append("") .append("").append(phone).append("") .append("").append(content).append("") .append("") .append("") .append(" "); 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; } /** * @param args */ public static void main(String[] args) { //下面的MAS_ID、PASSWORD仅供测试使用,正式使用由移动公司分配 String MAS_ID = "182"; String PASSWORD = "bYcLgYwXOZspDzEnaGsNHAGUykKEiexknHY9H98xVTQ8Zbeya8bexQ=="; // Map map = new HashMap<>(); // map.put("ip", "127.0.0.1"); // map.put("port", "3306"); // map.put("tenantCode", "test001"); // StrSubstitutor strSubstitutor = new StrSubstitutor(map); // String url3 = "jdbc:mysql://${ip}:${port}/${tenantCode}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai"; // String context3 = strSubstitutor.replace(url3); // System.out.println(context3); // String reqXML = buildRequestXMLString(MAS_ID, PASSWORD, "", "18720768376", "测试短信"); // postXMLSendSMSRequest("http://218.204.110.232:8080/emc/HttpSendSMSService", reqXML); } }