在日常项目开发中, 会遇到短信验证码的功能需求,接下来,主要是对这个功能进行介绍。。。

一、实现手机短信验证的基本思路

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 实现手机短信发送相关推荐

  1. java实现手机短信发送的功能详细代码

    我调用的是阿里的短信服务,如果是个人测试,可以不用办服务. 直接拿支付宝账号登录就可以 需要获取阿里的key的步骤 第一步:登录后进入控制台,先给自己的账号余额中充入2元(做测试足够了) 第二步:获取 ...

  2. 阿里云——Java实现手机短信验证码功能

    目录 如何实现短信验证码功能 1.准备工作 1.1 注册 阿里云 账号,并完成实名认证.找到短信服务功能. 1.2 开通短信服务 1.3 签名与模板 1.4 获取AccessKey 1.5 打开短信控 ...

  3. 使用java实现手机短信验证码

    使用java实现手机短信验证码 一.配置第三方短信接口 二.代码部分 三.效果展示 一.配置第三方短信接口 我们使用阿里云的短信服务(可以免费体验) 阿里云 进入阿里云的官网,查找短信服务,点击短信控 ...

  4. php自动发短信,用PHP怎么实现手机短信发送

    用PHP怎么实现手机短信发送 可以的,如果是在linux下,可以结合crontab定时任务实现,如果是使用windows可以安装win32service这个扩展实现如果我的回答没能帮助您,请继续追问. ...

  5. 【转载】C语言,利用网络短信验证码接口实现手机短信发送

    利用网络短信验证码接口实现手机短信发送 (历史代码,贴出学习) resource.h //resource.h//{{NO_DEPENDENCIES}} // Microsoft Visual C++ ...

  6. Java阿里云短信发送工具类

    短信服务API介绍 阿里云短信发送:调用SendSms发送短信_短信服务-阿里云帮助中心 <!--springboot项目阿里云发送短信--> <dependency>< ...

  7. java实现手机短信验证全过程

    点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本 ...

  8. JAVA实现SMS短信发送(附:代码)

    **先决条件:网建短信通提供了短信发送API,进入 [http://www.smschinese.cn/api.shtml](http://www.smschinese.cn/api.shtml) 进 ...

  9. Java用户注册手机短信验证码校验功能实现

    验证用户提交的手机短信验证码,如果验证码错误就跳回到当前页面.在短信验证码未填写或未正确填写时,就关闭底下注册按钮的功能,只有短信验证码通过校验后才打开注册按钮的功能.第二种方式是所有输入项全部填写完 ...

最新文章

  1. 千万QPS毫秒响应:快手数据中台建设实践
  2. ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx)
  3. 线段树专辑——hdu 1698 Just a Hook
  4. 找不到类型{0} 它在 ServiceHost 指令中提供为 Service 特性值
  5. Android编译系统简要介绍和学习计划
  6. 2013年7月9日“新单位工作流水账之一”
  7. 网络安全工程师必备浏览器插件
  8. 谷歌多账号 桌面快捷方式
  9. tp3.2中前台模板中日期时间的转换
  10. 关于bss段的一些思考
  11. 英国加入亚投行是顺从中国还是想玩无间道?
  12. 2020年980计算机综合,2022年华北水利水电大学980计算机学科专业综合考研复习资料...
  13. 用python画一个笑脸_python画个笑脸
  14. java淡蓝色怎么表示_最淡的蓝是什么颜色(淡蓝色配什么颜色好看)
  15. 亚声速-超声速等熵喷管拟一维流动的CFD解法(附完整代码)
  16. Spring基于XMLMysql | 注解Mysql的简单IOC案例
  17. 使用xcode上传ipa到app store
  18. Linux下脚本编写局域网扫描工具
  19. 基于SSH的实验室预约管理系统
  20. 2017年由Unity员工打造的最爱

热门文章

  1. html5课件动画制作,从此再也不担心课件/动画的开发了!
  2. PyQt5_Demo5
  3. jvm-sandbox:基础了解及demo演示
  4. 一年中的某周转换成当前周星期一和星期日的日期
  5. 统计了300课时的代码,得到学Python需要掌握的1024个英语单词
  6. [置顶]类的加载连接初始化
  7. dtree做权限控制
  8. 前端大全(基础总结)(根据js权威指南扩展)
  9. QGIS插件python开发环境配置和PyCharm配置调试环境
  10. 如何更改文件夹的图标!如何更改文件的图标!