<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. [软件工程基础]2017.11.05 第九次 Scrum 会议

    具体事项 项目交接燃尽图 每人工作内容 成员 已完成的工作 计划完成的工作 工作中遇到的困难 游心 #10 搭建可用的开发测试环境:#9 阅读分析 PhyLab 后端代码与文档:#8 掌握 Larav ...

  2. NET Core:部署项目到Ubuntu Server

    NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...

  3. leecode-39. Combination Sum

    1.问题描述: Given a set of candidate numbers (C) (without duplicates) and a target number (T), find all ...

  4. BI的意义

    BI系统建设的价值,有可能不值钱,也有可能价值数千万,就看我们大家好用了没.”所以,BI系统建设的收获,终究还是因企业而异的,再归根,便是与企业的文化,与企业的人,尤其是管理层是极为相关的了. 商业智 ...

  5. swift基础-3

    fallthrough 贯穿 case  可以不必写break 如果不需要知道区间内 每一项的值  可以使用 下划线 —— 来代替变量名 忽略 对该值的访问 for index in 1...5{ p ...

  6. 纪念Google Reader—Google Reader的最后一天

    从2006年到今天,几乎每天我都会打开Google Reader,但是今天不一样,因为它是最后一天.心情有些依依不舍,像是与一位多年老朋友永别.因此我非常痛恨Google,先给你送来个好朋友,再从你身 ...

  7. Selenium3+webdriver学习笔记3(xpath方式元素定位)

    #!/usr/bin/env python# -*- coding:utf-8 -*- from selenium import webdriver import time,os # about:ad ...

  8. Python+selenium之调用JavaScript

    webdriver提供了操作浏览器的前进和后退的方法,但是对于浏览器公东条并没有提供相应的操作方法.于是就需要借助JavaScript来控制浏览器的滚动条.webdriver提供了execute_sr ...

  9. javaSe-反射2

    //创建实体类 package com.java.chap07.sec03; public class Student { private String name; private Integer a ...

  10. LeetCode Pascal's Triangle Pascal三角形

    题意:给一个数字,返回一个二维数组,包含一个三角形. 思路:n=0.1.2都是特例,特别处理.3行以上的的头尾都是1,其他都是依靠上一行的两个数.具体了解Pascal三角形原理. class Solu ...