Java后台调用短信接口,实现发送短信验证码的控制层实现

04月11日 收藏 0 评论 2 java开发

Java后台调用短信接口,实现发送短信验证码的控制层实现

转载声明:https://blog.csdn.net/wangpei555/article/details/54553216

设计

用户填写手机号,点击获取验证码按钮,controller层获得所要发送验证码的手机号,随机生成六位数的验证码。调用发送短信接口url向此手机号发送验证码。

注意:下面的代码采用的是云信使的短信验证码接口,不同的验证码更换不同的url格式,即可.

@RequestMapping(value = "/sendValidate")
public void sendValidate(HttpServletRequest request,HttpServletResponse response) throws MalformedURLException {
String vcode = "";
String phonenumber = request.getParameter("phonenumber");
URL url;
String str = null;
JSONObject json = new JSONObject();
//生成验证码
for (int i = 0; i < 6; i++) {
vcode = vcode + (int) (Math.random() * 9);
}

User us = userService.getUserMessage(phonenumber);
if (us != null) {
json.put("status", -2);// 电话号码已被注册过
try {
ResponseUtil.write(response, json.toString());
} catch (Exception e1) {
}
return;
}
try {
url = new URL(
"http://api.sms.cn/sms/?ac=send&uid=用户名&pwd=你注册时md5加密的密码&template=100006&mobile="+phonenumber+"&content={code:"+vcode+"}");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
DataInputStream read= new
DataInputStream(connection.getInputStream());
str = read.readUTF();
} catch (Exception e) {
json.put("status", -1);// 服务器端错误,例如没网了
try {
ResponseUtil.write(response, json.toString());
} catch (Exception e1) {
}
return;
}
if (str != null && str.substring(6, 9).equals("100") == true) {
json.put("status", 1);// 验证码发送成功
} else
json.put("status", 0);// 验证码发送失败
try {
ResponseUtil.write(response, json.toString());
} catch (Exception e) {
e.printStackTrace();
}

}`


C 2条回复 评论
耿蕊

我在长沙,想学ui,有没有推荐的培训机构

发表于 2023-11-14 22:00:00
0 0
我是一只粽子啊

资源还可以

发表于 2023-06-07 21:00:00
0 0