容联云通讯码短信验证码asp示例
容联云通讯码短信验证码asp示例,其他语言示例查看官网:http://www.yuntongxun.com/activity/smsDemo#tiyan
sms.asp,容联云通讯码短信验证码发送asp源代码
其他类库下载
<!--#include file="md5.asp"-->
<!--#include file="aspJSON1.17.asp"-->
<!--#include file="base64.asp"-->
<%
'=========容联云通讯配置开始=========
isXML=true'是否XML数据
accountSid="accountSid配置值"'说明:主账号,登陆云通讯网站后,可在"控制台-应用"中看到开发者主账号ACCOUNT SID。
accountToken="accountToken配置值"'说明:主账号Token,登陆云通讯网站后,可在控制台-应用中看到开发者主账号AUTH TOKEN。
'===========模板配置,注意appId和templateId要一致,要不发送短信会提示错误,更换模板切换这里或者调用SendSMS时传递不同的appId和templateId也行
appId="appId配置值"'说明:应用Id,如果是在沙盒环境开发,请配置"控制台-应用-测试DEMO"中的APPID。如切换到生产环境,请使用自己创建应用的APPID。
templateId="1"'短信模板id,登录后台,管理,短信模板,模板列表里面有。测试模板为1
'=========容联云通讯配置结束=========
'发送http请求
function getHTTPPage(strurl,data,Authorization)
'set http = Server.CreateObject("Msxml2.XMLHTTP")'放在win2003,win2008服务器上有些会报错,使用下面的组件,同时需要设置setOption,window7测试没有问题这个
set http = Server.CreateObject("Msxml2.ServerXMLHTTP")'请求
http.Open "POST",strurl, false
http.setOption(2) = 13056'请求的是ssl连接,忽略验证出现的错误。要不可能出现msxml3.dll (0x80072F0D) The certificate authority is invalid or incorrect错误
Http.setRequestHeader "content-length", len(data)
Http.setRequestHeader "Authorization", Authorization
if isXML then'数据格式为xml
Http.setRequestHeader "Accept", "application/xml;"
Http.setRequestHeader "Content-type", "application/xml;charset=utf-8;"
else'数据格式为JSON
Http.setRequestHeader "Accept", "application/json;"
Http.setRequestHeader "Content-type", "application/json;charset=utf-8;"
end if
http.Send(data)
response.Write http.responseText
if isXML then
set getHTTPPage=http.responseXML
else
getHTTPPage=http.responseText
end if
set http=nothing
end function
Function rndint(byval MaxNum,byval MinNum)'asp生成整数之间的随机数函数
dim tmp
if MaxNum<MinNum then'交换大小值,防止传递时大小搞反
tmp=MinNum:MinNum=MaxNum:MaxNum=tmp
end if
Randomize
rndint=int(rnd *(MaxNum-MinNum+1)+MinNum)
End Function
'短信发送
'arrData:模板中要替换的内容,有多个要替换内容传递多个数组项,先后顺序以模板中定义的替换项“{数字}”中的数字一致
function SendSMS(phone,arrData,appId,templateId)
dim y,m,d,h,f,s,shijian,sig,Authorization,url,sdata,binfo,o,data
y=year(now):m=right("0" & month(now), 2):d=right("0" & day(now), 2):h=right("0" & hour(now), 2):f=right("0" & minute(now), 2):s=right("0" & second(now), 2)
shijian=y&m&d&h&f&s
sig=ucase( md5(accountSid&accountToken & shijian))
Authorization = encode64(accountSid&":"& shijian)
url="https://sandboxapp.cloopen.com:8883/2013-12-26/Accounts/"&accountSid&"/SMS/TemplateSMS?sig=" & sig
data=""
for i=0 to ubound(arrData)
if isXML then
data=data&"<data><![CDATA["&arrData(i)&"]]></data>"
else
data=data&","""&replace(arrData(i),"""","\""")&""""
end if
next
if isXML then
sdata="<?xml version='1.0' encoding='utf-8'?><TemplateSMS>"&_
"<to>"&phone&"</to>"&_
"<appId>"&appId&"</appId>"&_
"<templateId>"&templateId&"</templateId>"&_
"<datas>"&data&"</datas>"&_
"</TemplateSMS>"
else
if data<>"" then data=right(data,len(data)-1)
sdata="{""to"":"""&phone&""",""appId"":"""&appId&""",""templateId"":"""&templateId&""",""datas"":["&data&"]}"
end if
if isXML then
set binfo=getHTTPPage(url,sdata,Authorization)'发送并把结果赋给binfo
SendSMS=cint(binfo.getelementsbytagname("statusCode").item(0).text)
set binfo=nothing
else
binfo=getHTTPPage(url,sdata,Authorization)'发送并把结果赋给binfo
set o=new aspJSON
o.loadJSON(binfo)
SendSMS=cint(o.data("statusCode"))'返回值大于0都是发失败,自己看这个地址对照错误信息:http://www.yuntongxun.com/activity/errorCode#tiyan
set o=nothing
end if
end function
'容联云通讯码短信验证码asp示例
'data="1234"'如果有多个数据,直接用|分隔,如 验证码|验证码有效时间
'code=SendSMS("139xxxxxxxx",split(data,"|"),appId,templateId)
'response.Write code
%>
test.asp。容联云通讯码短信验证码asp示例源代码
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%response.CharSet="utf-8":Session.CodePage=65001 %>
<!--#include file="sms.asp"-->
<%
if request.Form("op")="sms" then''''''''''''发送短信
p=request.Form("p")
if p<>"" then
smsmsg=""
for i=0 to 3'4位验证码数字,更加多修改这里的3
smsmsg=rndint(0,9)&smsmsg
next
code=SendSMS(p,split(smsmsg,"|"),appId,templateId)
response.Clear
if code=0 then session(p)=smsmsg'发送成功session记录验证码
response.Write code
end if
response.End
end if
if request.Form("op")="validphone" then''''''''''''ajax验证输入的号是否正确
p=request.Form("p")
code=request.Form("code")
if session(p)=code then
response.Clear
response.Write 0
else
response.Write session(p)
end if
response.End
end if
if Request.QueryString("action")="add" then''''''''''''添加验证
phone=request.Form("shouji")
if phone="" then
response.Write "<script>alert('手机不能为空');history.go(-1)</script>"
response.end
end if
'手机验证码开始============================
phonecode=request.Form("phonecode")
if phonecode="" then
response.Write "<script>alert('手机验证码不能为空');history.go(-1)</script>"
response.end
end if
if phonecode<>session(phone) then
response.Write "<script>alert('手机验证码不正确');history.go(-1)</script>"
response.end
end if
'手机验证码结束============================
'===其他验证及入库代码
end if
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>容联云通讯码短信验证码asp示例</title>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function sendMessage(btn) {
var p = $('#studentMobil');
if (!/^(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/.test(p.val())) { alert('请输入正确的手机号!'); p.select(); return false; }
btn.disabled = true;
var t = 60;
btn.value = t + 's后重新获取';
var timer = setInterval(function () {
t--;
btn.value = t + 's后重新获取';
if (t == 0) {
clearInterval(timer);
btn.disabled = false;
btn.value = '发送验证码';
}
}, 1000);
$.ajax({
url: 'test.asp', data: {op:'sms',p:p.val()}, type: 'POST', complete: function (d) {
if (parseInt(d.responseText) !== 0) alert('手机验证码发送失败,服务器返回:' + d.responseText)
else alert('手机验证码发送成功,请注意查看您的手机!');
}
});
}
function checkPhoneValid(ipt) {
var p = $('#studentMobil');
if (!/^(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/.test(p.val())) { alert('请输入正确的手机号!'); p.select(); return false; }
if (!/^\d+$/.test(ipt.value)) { alert('请输入4位数字!'); ipt.select(); return false }
$(ipt).next().html('正在验证..');
$.ajax({
url: 'test.asp', data: { op: 'validphone', p: p.val(), code: ipt.value }, type: 'POST', complete: function (d) {
console.log($(ipt))
if (parseInt(d.responseText) === 0) $(ipt).next().html('<font color=green>验证成功</font>');
else $(ipt).next().html('<font color=red>验证码错误</font>');
}
});
}
</script>
</head>
<body>
<form action="?action=add" method="post"><table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr><td align="right">手机号码:</td>
<td><input name="shouji" type="text" class="knei" id="studentMobil" maxlength="11" />
<input type="button" class="jn_yanzheng" onclick="sendMessage(this);" value="发送验证码"/></td>
</tr><tr>
<td ><div align="right">手机验证码:</div></td>
<td><input name="phonecode" type="text" class="knei" maxlength="4" onblur="checkPhoneValid(this)" />
<div></div></td>
</tr>
<tr>
<td > </td>
<td><input name="提交" type="submit" class="shu" value="注册" /></td>
</tr>
</table>
</form>
</body>
</html>
加支付宝好友偷能量挖...

原创文章,转载请注明出处:容联云通讯码短信验证码asp示例
