1. 发送短信验证码首先要在互亿无线短信平台去开通短信服务,地址"ihuyi.com"
  2. 一定要留好自己申请的API ID,API key和模板
  3. 参数说明:
  4. 代码示例:
    pom导包

            <!--    短信    --> <dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.0</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version></dependency>
    新建发送短信工具类
    
    package com.mes.util;import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.NameValuePair;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;import java.io.IOException;/*** <p>* 发送短信验证码* </p>*/
    public class SendSmsUtil {private static final String URL = "http://106.ihuyi.com/webservice/sms.php?method=Submit"; //国内请求路径private static final String APPID = "admin";private static final String APIKEY = "admin123456";/*** 发送短信** @param phone   手机号* @param content 短信内容*/public static String send(String phone, String content) {HttpClient client = new HttpClient();PostMethod method = new PostMethod(URL);client.getParams().setContentCharset("GBK");method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=GBK");//todo 他提交短信NameValuePair[] data = {new NameValuePair("account", APPID),new NameValuePair("password", APIKEY),new NameValuePair("mobile", phone),new NameValuePair("content", content),new NameValuePair("sign", "胡碴熟男"),};method.setRequestBody(data);try {client.executeMethod(method);String submitResult = method.getResponseBodyAsString();Document doc = DocumentHelper.parseText(submitResult);Element root = doc.getRootElement();String code = root.elementText("code");String msg = root.elementText("msg");String smsid = root.elementText("smsid");System.out.println(msg);if ("2".equals(code)) {System.out.println("短信提交成功");}return code;} catch (IOException | DocumentException e) {e.printStackTrace();return e.getMessage();}}}
    
    例如当页面需要操作用户找回密码,通过发送短信验证码操作时
    放如redis,验证码失效5分钟
    
        @Overridepublic ResultInfo<?> getLoginCode(String phone) {String code = SendSmsUtil.getCode(phone);redissonClient.getBucket(RedisConstant.PHONE + phone, new JsonJacksonCodec()).set(code, 5, TimeUnit.MINUTES);return ResultInfo.success(code, "success");}
    
    /*** 获取验证码** @param phone* @return*/public static String getCode(String phone) {int mobileCode = (int) ((Math.random() * 9 + 1) * 100000);String content = "您正在操作找回密码,验证码为" + mobileCode + ",请不要把验证码泄露给其他人。";send(phone, content);return String.valueOf(mobileCode);}

Java实现手机发送短信验证码相关推荐

  1. Java演示手机发送短信验证码功能实现

    我们这里采用阿里大于的短信API 第一步:登陆阿里大于,下载阿里大于的SDK a.在阿里大于上创建自己的应用 b.点击配置管理中的验证码,先添加签名,再配置短信模板 第二步:解压相关SDK,第一个为j ...

  2. SpringBoot 实现手机发送短信验证码

    手机发送短信 内容 一.手机发送短信 1. 前端界面代码 2. UserInfoController 控制器 3. application.properties 配置类文件 4. 具体实现 总结 内容 ...

  3. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  4. Java用户注册服务器发送短信验证码功能实现

    <–start–> 当客户端发送了http的请求给服务器之后,服务器获取手机号然后调用短信平台给该手机号发送短信验证码. 给服务器发送请求的js代码: <script type=&q ...

  5. Nodejs实现给手机发送短信验证码用于登录功能(免费短信)

    我们开发的应用通常需要通过手机短信验证码验证进行登录,方便了那些容易忘记密码的用户,同时也降低了是密码被盗的风险性. 文章目录 1.注册容联云通信账号(免费) 2.nodejs发送请求即可发送短信验证 ...

  6. java给手机发短信_java给手机发送短信验证码

    最近在做项目,分配到一个使用手机验证码实现快速登录的需求,好了No B B 了直接进入主题. 首先进入官网(http://www.miaodiyun.com/) 进行注册登录,这个不用教吧. 注册登录 ...

  7. java向手机号发送短信验证码

    需要下载这三个jar包 commons-logging-1.1.1.jar commons-httpclient-3.1.jar commons-codec-1.4.jar 点击sms注册才可以用短信 ...

  8. java 实现 手机接收短信验证码功能

                                                          需求 需要有发送手机短信的平台,这里以阿里云为例.如果没有,就不要试了,不会成功的. 创建一 ...

  9. 手机发送短信验证码登录完整实例

    项目需求 后台生成随机6位数作为验证码,发送给手机,同时将验证码存入缓存,用户登录时验证输入的验证码是否过期或者是否正确. 一.发送短信 1.了解短信发送 通过发送短信的API,建立一个URL类的对象 ...

最新文章

  1. 转,大佬关于虚拟内存与物理内存关系讲解。
  2. 服务网格架构激活了容器网络管理—来自于服务网格创建者们的见解与展望
  3. access vba表字段_【Access】创建数据表并新增字段
  4. web前后台数据交互
  5. 专家支招:如何利用Plesk搭建完美全能开发环境
  6. 脚本化HTTP 取得响应 指定请求
  7. POJ1275Cashier Employment(查分约束系统)
  8. 随想录(kernel的版本管理)
  9. windows.location属性(常用知识点)
  10. 2019-2022广汽埃安AIONS/AIONY/AIONV/AIONLX维修手册电路图技术资料
  11. 深入探讨大数据权限管理方案-从哲学到技术
  12. 从程序员到项目经理(8):程序员加油站 -- 不要死于直率
  13. SQL Server 自定义快捷键。
  14. 知乎热议: Java, Go和Python那个前景好?
  15. 项目乱弹琴 之 用户就是上帝
  16. 微信小程序获取openid失败
  17. 区块链去中心化金融是对互联网金融的拨乱反正吗?
  18. 在Spring Cloud中.yml与.properties
  19. 求解幂集问题(蛮力法)
  20. echarts地图显示出各个省份区域对应的省会名称

热门文章

  1. 进阶面试的必看的ORM架构之 ORM简介
  2. Java后端入行看这 做软件园最靓的仔
  3. 2019 前端工程师修炼手册.pdf
  4. 一个前端初学者的2018年终总结 | 掘金年度征文
  5. FTP文件传输协议原理详解(两种工作模式)
  6. Javaweb中web.xml配置文件编写方式
  7. spark sql优化:小表大表关联优化 union替换or broadcast join
  8. 考研数据结构树——读书摘抄总结
  9. 【面试题】十进制怎么转化为十五进制
  10. 使用map_server保存并使用已有地图