闲话不多说,言归正传。今天我要分享的是利用阿里大鱼实现网站和APP的短信验证。
阿里大鱼开放了很多的消息通知服务,包括短信通知,语音通知等。
阿里大鱼的短信发送官方API:https://api.alidayu.com/doc2/apiDetail.htm?spm=a3142.7395905.4.6.9hYSEi&apiId=25450。
要实现短信发送通知必须先具备以下条件。
1.在阿里大鱼上开通账号,阿里大鱼的官网:https://www.alidayu.com/
2.登录账号之后点击配置管理–验证码–配置短信签名–添加签名。等待审核!审核通过后拿到你的短信签名。我的短信签名是注册认证。
3.在上一步操作完之后点击配置短信签名相邻的配置短信模板–添加短信模板,等待审核!审核通过后就可以用短信模板和模板ID了。我的模板ID是SMS_11350208,短信模板是验证码{product}用户,感谢您的支持!
4.在应用管理–应用列表–添加应用。然后拿到你的APP证书的KEY和SECRET。我的APP Key:23401777,APP Secret:413bccbc7a9964b957c2e04940cc2369
5.最后一步就是要下载调用API的jar了。请点击:http://download.csdn.net/detail/qq_27949963/9570014
准备工作已经做完了,现在我们就要开始写代码调用短信验证了。我以注册用户为例吧。
-
public static Boolean SmsNumSend(String code,String mobile){
-
TaobaoClient client =
new DefaultTaobaoClient(URL, APPKEY, SECRET);
-
AlibabaAliqinFcSmsNumSendRequest req =
new AlibabaAliqinFcSmsNumSendRequest();
-
req.setExtend(EXTEND);
-
req.setSmsType(SMSTYPE);
-
req.setSmsFreeSignName(
"注册认证");
-
req.setSmsTemplateCode(
"SMS_11350208");
-
req.setSmsParamString(
"{\"code\":\""+code+
"\",\"product\":\"用户注册"\
"}");
-
req.setRecNum(mobile);
-
AlibabaAliqinFcSmsNumSendResponse rsp;
-
try {
-
rsp = client.execute(req);
-
LOG.info(
"短信发送返回消息参数" + rsp.getBody());
-
if (rsp.getBody().toString().contains(
"alibaba_aliqin_fc_sms_num_send_response")) {
-
JSONObject ob =
new JSONObject(rsp.getBody().toString());
-
JSONObject obj = ob.getJSONObject(RESUCCESS);
-
JSONObject object = obj.getJSONObject(
"result");
-
Boolean success = object.getBoolean(
"success");
-
if (success) {
-
LOG.info(
"短信返回成功" + code);
-
return
true;
-
-
}
else {
-
LOG.info(
"短信返回失败");
-
return
false;
-
}
-
}
else {
-
LOG.info(
"短信发送失败");
-
return
false;
-
}
-
}
catch (ApiException e) {
-
LOG.error(e.getMessage(), e);
-
}
-
return
false;
-
}
-
-
-
}
利用上面的代码然后在调用时传入需要发送的随机验证码和发送的手机号,网站和APP就可以实现短信的验证了,我的注册用户短信为:【注册验证】验证码387336,您正在注册成为醉蝶依用户,感谢您的支持!