Java 实现手机短信发送
在日常项目开发中, 会遇到短信验证码的功能需求,接下来,主要是对这个功能进行介绍。。。
一、实现手机短信验证的基本思路
1、用户填写手机号,点击获取验证码按钮(页面可以做一些手机号是否有效处理),发起请求;成功后页面开始倒计时60s
2、后台接收到请求,验证手机号是否有效和是否被注册,若无效或已注册,则返回提示用户该手机号无效或已注册;
若有效、未被注册,后台生成验证码,并通过调用第三方短信接口并发送相关数据(包括手机号和验证码),
若发送成功则将验证码存入session或resis中,并设置验证码有效期,失败则返回提示。
3、手机收到验证码后在有效时间内,填写在页面,并点击注册后登陆等功能按钮,发送请求
4、后台接收到请求,获取页面传过来的验证码与session或resis中的验证码对比,相同则通过验证,可以做相应的业务处理(注册或登录等操作),最后将session或resis中的验证码无效化,一般置空就可以了;否则提示验证码错误或以过期。
二、实现短信发送的技术
目前主要有三种方式:
(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;
(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,
(3)使用中国网建提供的SMS短信平台(中国网建申请账号地址:http://sms.webchinese.cn/reg.shtml)
其实无论哪种方式,基本都一样,只需要把demo下来了,配置你自己的信息就可以啦。
这个主要介绍中国网建提供的SMS短信平台发送短信:
注册账号后,平台提供了5条免费的测试短信,可以下载对应的jar,和demo,修改配置,进行开发接入
commons-logging-1.1.1.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar
demo实例:
HttpClientUtil工具类:封装了短信发送的post/get请求发送的方法
test类:
import java.util.HashMap;
import java.util.Map;
/**
* @Title: http://www.smschinese.cn/api.shtml
* @date 2011-3-22
* @version V1.2
*/
public class test {
//用户名
private static String Uid = "测试www";
//接口安全秘钥
private static String Key = "d41d8cd98f00b204e990";
//手机号码,多个号码如13800000000,13800000001,13800000002
private static String smsMob = "13800000000";
//短信内容
private static String smsText = "验证码:123456";
public static void main(String[] args) {
HttpClientUtil client = HttpClientUtil.getInstance();
//UTF发送
int result = client.sendMsgUtf8(Uid, Key, smsText, smsMob);
if(result>0){
System.out.println("UTF8成功发送条数=="+result);
}else{
System.out.println(client.getErrorMsg(result));
}
}
}
Java 实现手机短信发送相关推荐
- java实现手机短信发送的功能详细代码
我调用的是阿里的短信服务,如果是个人测试,可以不用办服务. 直接拿支付宝账号登录就可以 需要获取阿里的key的步骤 第一步:登录后进入控制台,先给自己的账号余额中充入2元(做测试足够了) 第二步:获取 ...
- 阿里云——Java实现手机短信验证码功能
目录 如何实现短信验证码功能 1.准备工作 1.1 注册 阿里云 账号,并完成实名认证.找到短信服务功能. 1.2 开通短信服务 1.3 签名与模板 1.4 获取AccessKey 1.5 打开短信控 ...
- 使用java实现手机短信验证码
使用java实现手机短信验证码 一.配置第三方短信接口 二.代码部分 三.效果展示 一.配置第三方短信接口 我们使用阿里云的短信服务(可以免费体验) 阿里云 进入阿里云的官网,查找短信服务,点击短信控 ...
- php自动发短信,用PHP怎么实现手机短信发送
用PHP怎么实现手机短信发送 可以的,如果是在linux下,可以结合crontab定时任务实现,如果是使用windows可以安装win32service这个扩展实现如果我的回答没能帮助您,请继续追问. ...
- 【转载】C语言,利用网络短信验证码接口实现手机短信发送
利用网络短信验证码接口实现手机短信发送 (历史代码,贴出学习) resource.h //resource.h//{{NO_DEPENDENCIES}} // Microsoft Visual C++ ...
- Java阿里云短信发送工具类
短信服务API介绍 阿里云短信发送:调用SendSms发送短信_短信服务-阿里云帮助中心 <!--springboot项目阿里云发送短信--> <dependency>< ...
- java实现手机短信验证全过程
点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本 ...
- JAVA实现SMS短信发送(附:代码)
**先决条件:网建短信通提供了短信发送API,进入 [http://www.smschinese.cn/api.shtml](http://www.smschinese.cn/api.shtml) 进 ...
- Java用户注册手机短信验证码校验功能实现
验证用户提交的手机短信验证码,如果验证码错误就跳回到当前页面.在短信验证码未填写或未正确填写时,就关闭底下注册按钮的功能,只有短信验证码通过校验后才打开注册按钮的功能.第二种方式是所有输入项全部填写完 ...
最新文章
- 千万QPS毫秒响应:快手数据中台建设实践
- ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx)
- 线段树专辑——hdu 1698 Just a Hook
- 找不到类型{0} 它在 ServiceHost 指令中提供为 Service 特性值
- Android编译系统简要介绍和学习计划
- 2013年7月9日“新单位工作流水账之一”
- 网络安全工程师必备浏览器插件
- 谷歌多账号 桌面快捷方式
- tp3.2中前台模板中日期时间的转换
- 关于bss段的一些思考
- 英国加入亚投行是顺从中国还是想玩无间道?
- 2020年980计算机综合,2022年华北水利水电大学980计算机学科专业综合考研复习资料...
- 用python画一个笑脸_python画个笑脸
- java淡蓝色怎么表示_最淡的蓝是什么颜色(淡蓝色配什么颜色好看)
- 亚声速-超声速等熵喷管拟一维流动的CFD解法(附完整代码)
- Spring基于XMLMysql | 注解Mysql的简单IOC案例
- 使用xcode上传ipa到app store
- Linux下脚本编写局域网扫描工具
- 基于SSH的实验室预约管理系统
- 2017年由Unity员工打造的最爱