注册账号
https://www.yunpian.com/entry?method=register
登录后进行
https://www.yunpian.com/console/#/setting/account/info
签名 与 模块管理
发送短信
import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class SmsUtil {
// 编码格式。发送编码格式统一用UTF-8
private static String ENCODING = "UTF-8";
// 模板发送接口的http地址
private static String URI_TPL_SEND_SMS = "https://sms.yunpian.com/v2/sms/tpl_single_send.json";
//云片提供的 apikey
private static String apikey = "xxxxxxxxxxxxxxxxx";
//模板id
private static String reg_tplId = "xxxxx";
public static JSONObject sendRegSms(String smsCode,String mobile) throws IOException {
String tpl_value = URLEncoder.encode("#code#", ENCODING)+ "=" + URLEncoder.encode(smsCode+"", ENCODING);
return tplSendSms(reg_tplId,tpl_value,mobile);
}
public static JSONObject tplSendSms(String tpl_id,
String tpl_value, String mobile) throws IOException {
Map<String, String> params = new HashMap<String, String>();
params.put("apikey", apikey);
params.put("tpl_id", tpl_id);
params.put("tpl_value", tpl_value);
params.put("mobile", mobile);
return HttpClientUtils.doPost(URI_TPL_SEND_SMS, params);
}
}
调用发送短信
String phone = 139xxxxxxxx
String smsCode = (int)((Math.random()*9+1)*100000)+"";
JSONObject resultJson = SmsUtil.sendRegSms(smsCode,phone);
String smscode = resultJson.getString("code");
if ( !"0".equals(smscode) ){
result.setMsg(resultJson.getString("detail")) ;
return result;
}
验证短信有效性
方式一、 生成的 smscode 存入内存中,进行比较
方式二、生成的smscode 存入 数据库表中。