Java实现 使用聚合平台短信发送接口发送短信。
实现代码如下:
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class SmsUtil {
private static final Logger logger = LoggerFactory.getLogger(SmsUtil.class);
//接口的请求地址
private static final String HTTP_URL = "http://v.juhe.cn/sms/send";//请求接口地址
//申请接口的请求key
private static final String KEY = "******************";//公司账号对应的key,在聚合平台个人中心可查
//短信模板
public static final int TPL_ID = 589658;//模板编号,申请模板后对应有一个模板号
public static final String DEF_CHARSET = "UTF-8";
public static void send(String phone, String addr) {//接受短信手机号、模板变量参数
String result = null;
try{
String address = URLEncoder.encode("#address#=" + addr, DEF_CHARSET);//这里的address即是模板中配置的变量名,必须保持一致,且前后需加#号,后还需加=号
URL url = new URL(HTTP_URL + "?mobile=" + phone + "&tpl_id=" + TPL_ID + "&tpl_value=" + address + "&key=" + KEY);
URLConnection conn = url.openConnection();
conn.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), DEF_CHARSET));
StringBuffer sb = new StringBuffer();
String rs = null;
while((rs = br.readLine()) != null) {
sb.append(rs);
}
result = sb.toString();
if (br != null) {
br.close();
}
JSONObject obj = JSONObject.parseObject(result);
if (obj.getInteger("error_code") == 0) {
// System.out.println(obj.get("result"));
logger.info("短信发送成功!");
}else {
logger.info("短信发送失败!" + obj.get("error_code") + ":" + obj.get("reason"));
}
}catch (Exception e) {
logger.error("短信发送失败!" + e);
}
}
public static void main(String[] args) {
send("15*********", "西安市雁塔区都市之门A座1007");
}
}