/*** 2>向手机发送验证码

*@paramrequest( telephone 手机号码)

*@return向前台返回的结果*/

public voidsendSmsIdentifyingCode() {

String phone_no=getRequest().getParameter("phone_no");

String templateId=getRequest().getParameter("templateId");//request.getParameter("phone_no");//设置多少分钟内短信有效(单位:分钟)

int timeOutMin = 5;

String randomInt= creatNum()+"";//生成验证随机数

ObjectNode smsResult =sendInfo(phone_no, timeOutMin, randomInt , templateId );//电话号码--有效时间--验证码随机数--模板ID

System.out.println(randomInt);

HttpServletResponse response=ServletActionContext.getResponse();

response.setContentType("text/html");

PrintWriter out= null;try{

out=response.getWriter();

}catch(IOException e) {

e.printStackTrace();

}if (smsResult == null) {

out.println(ResultMessageUtils.creatJsonResultMessage(CoreStatus.RESULT_900009));

}else if (smsResult.get("statusCode").textValue().equals("000000")) {

Map telephoneCode = new HashMap<>();

String code= smsResult.get("randomNum").asText().replace("\"", "");

telephoneCode.put("code", code);

telephoneCode.put("time", String.valueOf(DateUtils.getSystemDate().getTime()));

telephoneCode.put("message", "Success");//存入Redis中

cacheClient.setObject("tel" +phone_no, telephoneCode);

out.print( ResultMessageUtils.creatJsonResultMessage(CoreStatus.RESULT_000000));

}else{

ObjectNode result;

result=JsonUtils.createObjectNode();

result.put("code", smsResult.get("statusCode").textValue());

result.put("message", smsResult.get("statusMsg").textValue());

result.put("datatime", DateUtils.getDefaultDateTimeToString());//return result.toString();

out.println(result.toString());

}

}/*** 向手机发送信息

*

*@paramphone_no

*@paramtimeOutMin(可以为空)

*@paramrandomNum

*@parammsm_type

*@paramtemplateId 短信模板Id

*@returnsmsResult*/

publicObjectNode sendInfo(String phone_no, Integer timeOutMin, String randomNum,String templateId) {//Map telephoneMap = (Map) cacheClient.getObject("tel" + phone_no);

List messageSubstitutes = newArrayList();if (timeOutMin != null) {

messageSubstitutes.add(String.valueOf(randomNum));

messageSubstitutes.add(String.valueOf(timeOutMin));

}

List telephoneList = new ArrayList<>();

telephoneList.add(phone_no);

String smsResultString=smsService.sendSms(telephoneList, templateId, messageSubstitutes);

ObjectNode smsResult=(ObjectNode) JsonUtils.stringToJsonObject(smsResultString);

smsResult.put("randomNum", randomNum.replace("\"", ""));returnsmsResult;

}/*** 生成随机验证码(密码)

*

*@return

*/

publicInteger creatNum() {int randomInt = new Random().nextInt(900000) + 100000;//设置短信发送内容

returnrandomInt;

}

java web 手机验证_javaWeb发送手机短信验证码(云通讯)相关推荐

  1. 手机老是收不到短信验证码?我来告诉你为什么!

    有些用户在使用某产品时可能会出现短信验证码收不到的情况,同事之前也遇到过这样的情况,连续发送多次依然收不到短信.那么短信验证码为什么会发送失败.原因有哪些呢.#短信验证码安全 现在短信验证码服务在各种 ...

  2. java中短信验证登录_java实现短信验证码功能

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这几天老大让我弄一个发送短信验证码的功能,使用的是大汉云通讯的短信平台接口,调用短信平台提供的接口(遵循短信平台的接口规范即可).具体看代码: impor ...

  3. net 服务端接口 存储,发送 app短信验证码

    net 写的app 接口,短信验证码模块的时候,本来验证码是放在session里面的,但是发现第二次会话时,愣是找不到这个验证码.于是查了下资料,不能放在session,更改为放在数据库.要求:1.验 ...

  4. 网易云信短信验证php,网易云 短信验证码+验证+tp5

    * Created by PhpStorm. * User: Administrator * Date: 2018/4/8 * Time: 15:15*/namespace app\api\contr ...

  5. 易语言注册码生成以及验证源码_短信验证码的登录流程

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 ...

  6. 【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)

    发送手机短信验证码 前言 一. 准备工作 二. 配置 三. 实战代码(仅仅是后台代码,前端传入手机号) 总结 前言 在网站和移动应用中利用短信验证码进行信息确认是最常用的验证手段.随着短信验证码的技术 ...

  7. Android - xml动画,识别手势动作,代码抽取,获取手机SIM卡串号,获取联系人数据,开机广播,发送/解析短信,报警音乐

    转载请注明出处:https://blog.csdn.net/mythmayor/article/details/72878059 1.Activity的任务栈 1.类似一个木桶,每层只能放一个木块,我 ...

  8. java 拦截手机验证码_华为手机这个设置能防范APP偷读你的短信验证码

    当前,线上支付重要的验证方式之一就是短信验证码验证,如果有骗子在异地掌握了账号信息,但是没有短信验证,就不能进行操作,而如果骗取了账号和验证码,就会给用户带来巨大损失."验证码不要告诉任何人 ...

  9. Java设置短信间隔时间_Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+Redis)...

    标签:url   control   operation   短信验证码   reg   cep   ppi   任务   用户 Java实现短信验证码--设置发送间隔时间,以及有效时间(Java+R ...

最新文章

  1. MLPerf Inference 0.7应用
  2. URL重写:RewriteCond指令与RewriteRule 指令格式(转)
  3. tomcat的日志文件权限与启动用户的权限不一致
  4. Java06动手动脑
  5. Android入门(九)| 滚动控件 ListView 与 RecyclerView
  6. 异构平台同步(Mysql到Oracle)
  7. shell的read方法使用介绍
  8. 一、Arcgis api js -- 基本概念
  9. Android九宫格闪烁,js实现九宫格点击按钮随机三个格子闪烁,发生错误
  10. 想打造一款成功的移动应用?你最需要关注性能指标!
  11. ctfmon.exe
  12. Android一键锁屏功能的实现,推荐一款非常好用的Android一键锁屏软件
  13. 嵌入式作业使用MDK编译stm32简单程序
  14. Interpro注释
  15. scratch接球游戏 电子学会图形化编程scratch等级考试三级真题和答案解析2022年3月
  16. 活动及宣传内容发布审批小程序开发制作
  17. 如何设计一枚「拟态」按钮
  18. android 输入法全屏,android 输入法不全屏
  19. kubernetes kubectl apply -f和kubectl create -f有什么区别
  20. 如何用游戏培养宝宝的自理能力?

热门文章

  1. tornado环境搭建
  2. sklearn模型评估
  3. 深圳内推 | 粤港澳大湾区数字经济研究院招聘NLP算法研究员(可实习)
  4. 做 NLP 算法研究,去大公司还是创业公司?
  5. 如何使用PyTorch的量化功能?
  6. HSIC简介:一个有意思的判断相关性的思路
  7. Github大热论文 | U-GAT-IT:基于GAN的新型无监督图像转换
  8. 你不是一个人在战斗!有人将吴恩达的视频教程做成了文字版
  9. 牛客网 New Game! 建图+最短路
  10. 广西大学计算机技术复试题库,2018年广西大学计算机与电子信息学院408计算机学科专业基础综合之计算机操作系统考研基础五套测试题...