短信宝-java短信平台
package com.hwqh.huawenstockuser.utils.sms;/*** @program: hxzq-cloud-parent* @ClassName: SmsSample* @version: 1.0* @description: 短信宝* @author: zhaonian* @create: 2020-05-20 10:00**/import java.io.Buff
·
/**
* @ClassName: SmsSample
* @version: 1.0
* @description: 短信宝
* @author: zhaonian
**/
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SmsSample {
//在短信宝注册的用户名
public static final String testUsername = "在短信宝注册的用户名";
//在短信宝注册的密码
public static final String testPassword = "在短信宝注册的密码";
// String testPhone = "13000000000";
// 注意测试时,也请带上公司简称或网站签名,发送正规内容短信。千万不要发送无意义的内容:例如 测一下、您好。否则可能会收不到
// String testContent = "【万千购】您的验证码是1234,5分钟内有效。若非本人操作请忽略此消息。";
//url
public static final String httpUrl = "http://api.smsbao.com/sms";
// public static final String httpUrl = "http://www.smsbao.com/query";
/**
* 后缀
*/
public static final String testContentSuffix= ",1分钟内有效。若非本人操作请忽略此消息。";
/**
* 发送短信
* @param testPhone 手机号
* @param sms 前缀
* @param code 验证码
* @return
*/
public static String sendSms(String testPhone, String sms,String code) {
StringBuffer httpArg = new StringBuffer();
httpArg.append("u=").append(testUsername).append("&");
httpArg.append("p=").append(md5(testPassword)).append("&");
httpArg.append("m=").append(testPhone).append("&");
StringBuffer sb=new StringBuffer();
String testContent = sb.append(sms).append(code).append(testContentSuffix).toString();
httpArg.append("c=").append(encodeUrlString(testContent, "UTF-8"));
String result = request(httpUrl, httpArg.toString());
System.out.println(result);
return result;
}
public static String request(String httpUrl, String httpArg) {
BufferedReader reader = null;
String result = null;
StringBuffer sbf = new StringBuffer();
httpUrl = httpUrl + "?" + httpArg;
try {
URL url = new URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = reader.readLine();
if (strRead != null) {
sbf.append(strRead);
while ((strRead = reader.readLine()) != null) {
sbf.append("\n");
sbf.append(strRead);
}
}
reader.close();
result = sbf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static String md5(String plainText) {
StringBuffer buf = null;
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return buf.toString();
}
public static String encodeUrlString(String str, String charset) {
String strret = null;
if (str == null)
return str;
try {
strret = java.net.URLEncoder.encode(str, charset);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return strret;
}
}
更多推荐
所有评论(0)