Java实现手机发送短信功能
本篇文章给大家带来的内容是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;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实现手机发送短信功能就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。