java对接短信验证码功能,短信验证码开发

今天公司提出一个需求,要在现有项目上收集注册用户的真实手机号,由于之前没有接触过这一块,只能寻求度娘的帮助,经过一天的努力,终于完成了,现整理记录下已备查阅。

1 解决方案:在注册时要求用户进行手机验证。
2 寻找短信供应商:由于对这一块不是太懂,大学同学推荐一家他们公司在用的给我。
3 代码实现
首先到互亿无线短信平台注册一个帐号,并登录到用户中心,选验证码模块下载接口文档,文档下载下来是一个压缩包,我们项目是用java的jsp开发的,直接找到目录DEMO/JSP

提示:开始之前先看一下官方对接说明文档

第一步 把前端html代码整合到注册页面
html 代码:

<form action="reg.jsp" method="post" name="formUser" onSubmit="return register();">
<table width="100%" border="0" align="left" cellpadding="5" cellspacing="3">
<tr>
<td align="right">手机<td>
<input id="mobile" name="mobile" type="text" size="25" class="inputBg" /><span style="color:#FF0000"> *</span>
</tr>
<tr>
<td align="right">验证码</td>
<td>
<input type="text" name="gd_code" class="inputBg" size="25" id="gd_code" onkeyup="value=value.replace(/[^\d]/g,‘‘)" placeholder="请输入正确的验证码">
<span> <img src="code.jsp" onClick="javascript:this.src=this.src+‘?date=‘+Date();" ></span>
</td>
</tr>
<tr>
<td align="right">手机验证码</td>
<td align="left">
<input type="text" name="mobile_code" class="inputBg" size="25" />
<input id="zphone" type="button" value=" 获取手机验证码 " style="width: 120px" onClick="get_mobile_code()">
</td>
</tr>
</table>
</form>

javascript代码

<script language="javascript">
function get_mobile_code(){
$.post(‘sms.jsp‘, {mobile:jQuery.trim($(‘#mobile‘).val()),send_code:$("#gd_code").val()}, function(msg) {
alert(jQuery.trim(unescape(msg)));
if(msg==‘提交成功‘){
RemainTime();
}else{
location.reload();
}
});
};
var iTime = 59;
var Account;
function RemainTime(){
document.getElementById(‘zphone‘).disabled = true;
var iSecond,sSecond="",sTime="";
if (iTime >= 0){
iSecond = parseInt(iTime%60);
iMinute = parseInt(iTime/60)
if (iSecond >= 0){
if(iMinute>0){
sSecond = iMinute + "分" + iSecond + "秒";
}else{
sSecond = iSecond + "秒";
}
}
sTime=sSecond;
if(iTime==0){
clearTimeout(Account);
sTime=‘获取手机验证码‘;
iTime = 59;
document.getElementById(‘zphone‘).disabled = false;
}else{
Account = setTimeout("RemainTime()",1000);
iTime=iTime-1;
}
}else{
sTime=‘没有倒计时‘;
}
document.getElementById(‘zphone‘).value = sTime;
}
</script>

第一步 把后端jsp代码整合到程序逻辑中。
注意:把code.jsp sms.jsp这两个文件要上传到项目路径下

使用 HttpURLConnection请求短信接口就行了

String postUrl = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";

int mobile_code = (int)((Math.random()9+1)100000); //获取随机数

String account = "用户名"; //查看用户名是登录用户中心->验证码短信->产品总览->APIID
String password = "密码"; //查看密码请登录用户中心->验证码短信->产品总览->APIKEY
String mobile = request.getParameter("mobile");
String content = new String("您的验证码是:" + mobile_code + "。请不要把验证码泄露给其他人。");
String send_code = request.getParameter("send_code");
String session_code = (String)session.getAttribute("randStr");

// 此处验证码仅限于纯数字比对
if (Integer.parseInt(send_code) != Integer.valueOf(session_code)) {
String message = new String("请输入正确的验证码");
out.println(message);
return;
}

try {

URL url = new URL(postUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);//允许连接提交信息
connection.setRequestMethod("POST");//网页提交方式“GET”、“POST”
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Connection", "Keep-Alive");
StringBuffer sb = new StringBuffer();
sb.append("account="+account);
sb.append("&password="+password);
sb.append("&mobile="+mobile);
sb.append("&content="+content);
OutputStream os = connection.getOutputStream();
os.write(sb.toString().getBytes());
os.close();

String line, result = "";
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
while ((line = in.readLine()) != null) {
    result += line + "\n";
}
in.close();
out.println(result);

} catch (IOException e) {
e.printStackTrace(System.out);
}

原文地址:http://blog.51cto.com/14024619/2301661

时间: 2024-11-05 21:44:43

java对接短信验证码功能,短信验证码开发的相关文章

JS实现图片验证码功能——用户输入验证码

copy以下两部分代码即可实现: 1.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="./gVerify.js"></script> <style type="text/css"> body, html {

阿里云短信服务发送短信验证码(JAVA开发此功能)

开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官方开发文档了解详情,文档中写的也是很详细了... https://help.aliyun.com/product/44282.html 代码编写之前需要准备几个东西 1,aliyun-java-sdk-core.jar ,  aliyun-java-sdk-dysmsapi.jar  这2个jar包

java实现发送国际短信的功能

由于公司的客户遍布全球,最近会有一些要发送海外的短信的需求,所以今天想说下发送国际短信的功能,接入的手续和一般的短信验证码也差不太多.由于之前已经合作了互亿无线短信平台的短信验证码功能,那么顺理成章看看他们家有没有国际短信,结果对接起来也太方便了,代码也不怎么需要修改,接口改一下好了,很方便,用了个把小时就弄完了,新功能做得飞快,现在送上代码,你们可以参考一下,如果也同样接入互亿无线短信平台的朋友,可以直接用哈哈. ?/*** Created by bingone on 15/12/16.*/ 

Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)

用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以自行注册,得到APPKEY和APPSECRET,然后下载SDK,包的导入方式如截图: 二.主要代码 SMSSendForRegisterActivity.java:(获取验证码页) package com.qiandaobao.activity; import java.util.regex.Mat

java开通短信验证功能详解

具体步骤: 步骤 1 创建阿里云账号 为了访问短信服务,您需要有一个阿里云账号.如果没有,可首先按照如下步骤创建阿里云账号: 访问阿里云 官方网站,单击页面上的 免费注册 按钮. 按照屏幕提示完成注册流程并进行实名认证,短信服务只支持实名认证用户使用.为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用.具体实名认证流程,请参考 这里. 步骤 2 获取阿里云访问密钥 为了使用短信发送API-JAVA SDK,您必须申请阿里云的访问密钥. 阿里云访问秘钥是阿里云为用户使用

【短信插件】短信如何实现Destoonb2b_V5.0短信验证码功能

找到了一家不错的短信插件,有需要对接的可以查看学习,在这边分享一下,有需要的可以详细看看,了解一下.http://www.ihuyi.com/ 插件说明本插件系互亿无线针对Destoonb2b_V5.0短信插件开发,插件内的所有文件均为对原文件的修改,如果你的系统经过二次开发,安装本插件之前,请仔细核对修改. 功能介绍手机号短信验证注册 安装步骤1.下载Destoonb2b_V5.0互亿无线插件后解压相应目录中:2.打开Destoonb2b_V5.0网站管理系统后台->会员管理->模块设置-&

【源码分享】短信如何实现ECmall_V2.3验证码功能

对接短信的时候发现一家短信公司,有些不错的短信验证码的插件,对接起来挺方便的,有需求的可以看一下.http://www.ihuyi.com/ 插件说明本插件系互亿无线针对ECmall_V2.3短信插件开发,插件内的所有文件均为对原文件的修改,如果你的系统经过二次开发,安装本插件之前,请仔细核对修改. 功能介绍1.手机号短信验证注册2.找回密码3.买家确认收货4.买家下订单5.卖家发货 安装步骤1.下载ECMALL_V2.3互亿无线插件后解压相应目录中:2.打开ECMALL_V2.3系统管理后台-

ava调用WebService接口实现发送手机短信验证码功能

二:前台的注册页面的代码:reg.jsp  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags"%> <%@page import="cn.gov.csrc.base.action.FindAllData&

Android开发:app工程集成mob短信验证码功能

一.前言 现在的app基本上都需要用到短信功能,注册时或者有消息通知时需要给用户发送一条短信,但是对于个人开发者来说,去买第三方的短信服务实在是有点奢侈,很好的是mob为我们提供了免费的短信验证码服务功能,我不是打广告,的确觉得这项服务很不错.那么下面就简单讲一下如何在自己的工程里集成mob的短信功能,其实整个流程并不复杂,只是个人觉得mob的官方文档有点小乱,官方Demo也有点小复杂,同时有一些细节地方容易被忽视,也会导致一些问题. PS:太喜欢mob的logo了. 二.实现过程 本篇只涉及A

Thinkphp 3.2中注册发送短信验证码功能(未进行盗刷处理版本)

好多人都感觉脱离了增删改查的功能都很难,实际上不是的,可能有些教程只是讲了核心的部分,导致一些基础不太好的同学有些蒙逼,本人作为一个基础不太好的同学,今天就从基础开始说说i哈 1.首先,想用短信服务,就得先有个阿里云帐号,然后去购买短信,购买后,然后你去生成一个app_id和key的值,声称这个值不用代码,在阿里云后台就可以生成的,然后生成一个模版,这个你们自己找就行,然后生成一个短信签名,短信签名是干什么的呢?给你们举个列子,一般广告短信都是[阿里云]迎十一大酬宾...或者[链家]十一大优惠,