短信接口

web相关

2009-08-21 14:10

某客户需要验证用户的手机


其实老简单了,就是提交点参数就OK了
思路
1   提交手机号 产生随即的验证码 然后都保存session
2 然后验证码发送给手机
3 用户提交 对比表单和session的数据

------------------------------------------------------------------------
客户提供的接口

http:// interface.smsgo.cn/send.jsp

相关参数

参数

要求

描述

备注

name

必选

账号名

帐号,需要申请

pass

必选

密码

登录密码 需要MD5_32_a 加密

telnum

必选

手机号码

短消息接收手机,最多50个号码,英文逗号分隔

content

必选

下发的消息内容

短消息内容。(不超过60个字)

返回值

返回值

描述

0

接收成功

-1

数据不完整

-4

查询失败

-5

帐号密码错误

-8

数据库操作错误

-9

其他错误

其他

接收成功返回相关信息



示例

1.          给手机号码139xxxxxxxx和139xxxxxxxx1发送了一条短信,短信内容是“你好短信测试”

http://interface.smsgo.cn/send.jsp?name=ceshi&pass=6c44e5cd17f0019c64b042e4a745412a&telnum=139xxxxxxxx,139xxxxxxxx1&content = %C4%E3%BA%C3%B6%CC%D0%C5%B2%E2%CA%D4



HTML

<input name="sj" type="text" id="sj" />
<strong onclick="tosj();" style="cursor:pointer;" >获取验证码</strong>
<span id="tishi" style="color:#F00"></span>

<script language="javascript">


function ismobile(mobile)     //JS判断手机号
{
if(mobile.length!=11) { return false;}
var myreg = /^(((13[0-9]{1})|159|(15[0-9]{1}))+\d{8})$/;
if(!myreg.test(mobile)){return false;}
return true;
}

function ax(str,idx){
var ajax;
if (window.ActiveXObject)
{ajax=new ActiveXObject("Microsoft.XMLHTTP");}
else if (window.XMLHttpRequest){ajax=new XMLHttpRequest();}

ajax.open("GET",str,true);
ajax.setRequestHeader("If-Modified-Since","0");
ajax.onreadystatechange=function(){   
document.getElementById(idx).innerHTML="<img src='ajax.gif' width='20' height='20' border=0' title='载入中' />";
if(ajax.readyState==2){    //发送中的显示   
      document.getElementById(idx).innerHTML="<img src='ajax.gif' width='20' height='20' border=0' title='载入中' />";
}
if(ajax.readyState==4){ // 接受到值
    if (ajax.responseText==0){
   str="发送成功注意查收!";
   }
     if (ajax.responseText==501){
   str="手机号码不正确!";
   }

if (ajax.responseText==500){
   str="发送中!请耐心等待....";
   }

    if (ajax.responseText==404){
   str="发送失败!";
   }
  
   if (ajax.responseText==-4){
   str="发送失败!";
   }
  
    if (ajax.responseText<=-2){
   str="发送失败!请联系管理员.";
   }
     
   document.getElementById(idx).innerHTML=str;
}
}
ajax.send(null);
}

function tosj(){
sj=document.getElementById("sj");
   if (sj.value==""){
   alert("请输入正确的手机号码!");
   sj.focus();
   return false;
   }

if (!ismobile(sj.value)){
   alert("请输入正确的手机号码!");
   sj.focus();
   return false;
   }

ax("xx.asp?sj="+sj.value,"tishi");
}

</script>

ASP
----------------------------------------------------------------------------------------------------------------------------------
<%
response.Charset="GB2312"
dim u,p
u="username"
p="xxxxxxxxxxxxxxxxxxx"                                         'MD5加密后的密码
sj=trim(request.QueryString("sj"))                        '获取号码
                                                                                       //后台应该验证是否手机号码
if session("sj")=sj then                                          '如果已经发送了验证码 不可以反复发送
     response.Write("500")
     response.End()
end if

Randomize
n=CLNG(Rnd()*1000000)
str="短信信息!@#$%^&*():"&n
url="="
dim Http
    set Http=server.createobject("MSXML2.XMLHTTP")  
     Http.open "GET",url,false
    Http.send()
    if Http.readystate<>4 then
           response.Write("404")
           response.End()
    end if
    getHTTPPage=BytesToBstr(Http.responseBody,"GB2312")    
   set http=nothing
    
if getHTTPPage=0 then                       
       session("sj")=sj
       session("yzm")=n
end if

response.Write(getHTTPPage)