<script language="jscript" runat="server"> 
Array.prototype.get = function(x) { return this[x]; }; 
function parseJSON(strJSON) { return eval("(" + strJSON + ")"); } 
</script>
<%if userid<>"" then
  response.write("<script>alert('已登录!');window.location.href='center.asp';</script>")
  response.end()
  end if
  if request.QueryString("action")="getsms" then
    '发送短信
 dim tel,data,smscon
 tel=request.QueryString("tel")
 if tel="" then
    response.Write("{status:0,code:0}")
    response.End()
 end if
 Dim zNum,shijian,smsurl,accountSid,smsContent,TOKEN,sig,timestamp
 smsurl="https://api.miaodiyun.com/20150822/industrySMS/sendSMS"
 accountSid="accountSid"
 TOKEN="TOKEN"
 shijian=now()
 timestamp=day_date()
 sig=lcase(md5(accountSid&TOKEN&timestamp,32))
 Randomize Timer
 zNum=Int(899999*Rnd+100000)
 
 session("smscode")=zNum
 session("time")=shijian
 smsContent="【签名】您的验证码为"&zNum&",请于20分钟内正确输入,如非本人操作,请忽略此短信。"
 
 data="accountSid="&accountSid&"&smsContent="&smsContent&"&to="&tel&"&timestamp="&timestamp&"&sig="&sig&"&respDataType=JSON"
 dim restr
    'response.Write("<br>"&timestamp)
 'response.Write(data)
 restr=getHTTPPage(smsurl,data)
 'response.Write(restr)
 Set obj = parseJSON(restr)
 if obj.respCode="00000" then
   response.Write("{status:1,code:0}")
 else
   response.Write("{status:0,code:"&obj.respCode&"}")
 end if
    response.End()
  end if
 
Function getHTTPPage(url,data)
 Dim Http
 Set Http = Server.CreateObject("MSXML2.XMLHTTP")
 Http.Open "POST", url, False
 Http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
 Http.send(data)
 If Http.readystate <> 4 Then
 Exit Function
 End If
 getHTTPPage = BytesToBstr(Http.responseBody, "GB2312")
 Set Http = Nothing
 If Err.Number <> 0 Then Err.Clear
End Function
 
Function BytesToBstr(body, Cset)
 Dim objstream
 Set objstream = Server.CreateObject("adodb.stream")
 objstream.Type = 1
 objstream.Mode = 3
 objstream.Open
 objstream.Write body
 objstream.Position = 0
 objstream.Type = 2
 objstream.Charset = Cset
 BytesToBstr = objstream.ReadText
 objstream.Close
 Set objstream = Nothing
End Function

function dtos(num)
  dtos=cstr(num)
  dim i
  'response.Write(num&":"&len(dtos)&"<br>")
  if len(dtos)<2 then
    for i=1 to 2-len(dtos)
   'response.Write("("&i&")")
      dtos="0"&dtos
   'response.Write(dtos)
    next
  else
     dtos=dtos
  end if
  'dtos=cint(dtos)
end function

function day_date() 'response.Write(month(now)&"-"&day(now)&"-"&hour(now)&"-"&minute(now)&"-"&second(now))
  day_month=dtos(month(now))
  day_day=dtos(day(now))
  day_hour=dtos(hour(now))
  day_minute=dtos(minute(now))
  day_second=dtos(second(now))
  day_date=cstr(year(now))&cstr(day_month)&cstr(day_day)&cstr(day_hour)&cstr(day_minute)&cstr(day_second)
 
end function
%>

asp发送短信验证码 pst方式的更多相关文章

  1. Java 实现手机发送短信验证码

    Java 实现手机发送短信验证码 采用引入第三方工具的方式,网上查了半天,发现简单的实现方式便是注册一个中国网建的账号,新建账号的时候会附带赠几条免费短信,彩信 ,之后想要在使用就得花钱了.简单的操作 ...

  2. 超实用的JavaScript代码段 Item4 --发送短信验证码

    发送短信验证码 实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”.“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”.在倒计时期间按钮为禁用状态 . 第一步.获取按钮.绑定事件 ...

  3. Laravel5中使用阿里大于(鱼)发送短信验证码

    在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置:阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为 ...

  4. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

  5. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  6. android发送短信验证码并自动获取验证码填充文本框

    android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...

  7. java 阿里云接口实现发送短信验证码

    此刻自己做的小项目中,需要用到手机发送短信验证码实现注册功能,于是就去阿里云注册了账号,并实现随机发送验证码的功能 第一步:在阿里云官网登录注册   已有支付宝或淘宝的账号可以直接登录,最后需要实名认 ...

  8. Yii2发送短信验证码完全解决方案

    概述 在做项目的时候,需要用到短信发送验证码功能.不能不说Yii2的牛逼,很容易就搞定了.下面我整理一下具体功能和流程,分享给大家. 主要功能 通过Yii2 rules验证手机号 通过js验证是否为手 ...

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

    开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...

随机推荐

  1. vue -- key的特殊作用

    v-for渲染的列表的结构采用“就地复用”的策略,也就说当数据重新排列数据时,会复用已在页面渲染好的元素,不会移动 DOM 元素来匹配数据项的顺序,这种模式是高效的,改变现有位置的结构的数据即可 eg ...

  2. background-attachment:fixed不兼容性

    ios系统和某些移动端background-attachment:fixed不兼容性,没有任何效果,但可以hack一下就可以了,代码如下: ps:想在哪个标签加背景,可以在它class后:before ...

  3. 使用表达式目录树实现SqlDataReader到实体的映射

    SqlDataReader映射实体,是ORM的基础功能,常见的实现方式有反射.表达式目录树和emit,这里要说的就是用表达式目录树生成实体的方法. 先分析下思路: 假设有个数据实体类,Student ...

  4. GUI的最终选择 Tkinter(六):Canvas组件

    Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Ca ...

  5. JS——变量声明、变量类型、命名规范

    变量声明: JavaScript是一种弱类型语言,它的变量类型由它的值来决定,var是变量声明. 变量类型: 基本类型:number.string.boolean(布尔类型:var a=true/fa ...

  6. ExpandoObject的使用

    IDictionary<string, object> obj = new System.Dynamic.ExpandoObject(); obj.Add(); dynamic obj2 ...

  7. java join 方法的使用

    在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束.这时,如果主线程想等待子线程执行完成之后再结束,比如子线程处理一个数据,主线程要取得这个数据 ...

  8. Jquery使用ajax参数详解

    记录一下  Jquery使用ajax(post.get及参数详解) 1.get: $.ajax({ type: "GET", url: baseUrl + "Showco ...

  9. vue2.0:(八)、外卖App弹窗部分知识点总结

    本篇文章是对外卖App弹窗部分知识点的总结. 知识点一:如何从接口取出不同的图片. 答: 1.header.vue: 代码: <ul v-if="seller.supports&quo ...

  10. js黑科技,使用offsetParent检测元素是否隐藏

    var isHidden = function (element) { return (element.offsetParent === null);}; eg: