资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java实现手机发送短信功能

本篇文章给大家带来的内容是Java实现手机发送短信功能。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。一起跟随小编过来看看吧。

我们拥有10余年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站建设、成都网站制作、微信开发、微信小程序开发、移动网站建设H5网站设计、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。

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

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


文章名称:Java实现手机发送短信功能
网页网址:http://www.cdkjz.cn/article/jdidhc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220