Java实现手机发送短信验证码
- 发送短信验证码首先要在互亿无线短信平台去开通短信服务,地址"ihuyi.com"
- 一定要留好自己申请的API ID,API key和模板
- 参数说明:
- 代码示例:
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实现手机发送短信验证码相关推荐
- Java演示手机发送短信验证码功能实现
我们这里采用阿里大于的短信API 第一步:登陆阿里大于,下载阿里大于的SDK a.在阿里大于上创建自己的应用 b.点击配置管理中的验证码,先添加签名,再配置短信模板 第二步:解压相关SDK,第一个为j ...
- SpringBoot 实现手机发送短信验证码
手机发送短信 内容 一.手机发送短信 1. 前端界面代码 2. UserInfoController 控制器 3. application.properties 配置类文件 4. 具体实现 总结 内容 ...
- java + maven 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...
- Java用户注册服务器发送短信验证码功能实现
<–start–> 当客户端发送了http的请求给服务器之后,服务器获取手机号然后调用短信平台给该手机号发送短信验证码. 给服务器发送请求的js代码: <script type=&q ...
- Nodejs实现给手机发送短信验证码用于登录功能(免费短信)
我们开发的应用通常需要通过手机短信验证码验证进行登录,方便了那些容易忘记密码的用户,同时也降低了是密码被盗的风险性. 文章目录 1.注册容联云通信账号(免费) 2.nodejs发送请求即可发送短信验证 ...
- java给手机发短信_java给手机发送短信验证码
最近在做项目,分配到一个使用手机验证码实现快速登录的需求,好了No B B 了直接进入主题. 首先进入官网(http://www.miaodiyun.com/) 进行注册登录,这个不用教吧. 注册登录 ...
- java向手机号发送短信验证码
需要下载这三个jar包 commons-logging-1.1.1.jar commons-httpclient-3.1.jar commons-codec-1.4.jar 点击sms注册才可以用短信 ...
- java 实现 手机接收短信验证码功能
需求 需要有发送手机短信的平台,这里以阿里云为例.如果没有,就不要试了,不会成功的. 创建一 ...
- 手机发送短信验证码登录完整实例
项目需求 后台生成随机6位数作为验证码,发送给手机,同时将验证码存入缓存,用户登录时验证输入的验证码是否过期或者是否正确. 一.发送短信 1.了解短信发送 通过发送短信的API,建立一个URL类的对象 ...
最新文章
- 转,大佬关于虚拟内存与物理内存关系讲解。
- 服务网格架构激活了容器网络管理—来自于服务网格创建者们的见解与展望
- access vba表字段_【Access】创建数据表并新增字段
- web前后台数据交互
- 专家支招:如何利用Plesk搭建完美全能开发环境
- 脚本化HTTP 取得响应 指定请求
- POJ1275Cashier Employment(查分约束系统)
- 随想录(kernel的版本管理)
- windows.location属性(常用知识点)
- 2019-2022广汽埃安AIONS/AIONY/AIONV/AIONLX维修手册电路图技术资料
- 深入探讨大数据权限管理方案-从哲学到技术
- 从程序员到项目经理(8):程序员加油站 -- 不要死于直率
- SQL Server 自定义快捷键。
- 知乎热议: Java, Go和Python那个前景好?
- 项目乱弹琴 之 用户就是上帝
- 微信小程序获取openid失败
- 区块链去中心化金融是对互联网金融的拨乱反正吗?
- 在Spring Cloud中.yml与.properties
- 求解幂集问题(蛮力法)
- echarts地图显示出各个省份区域对应的省会名称