asp实现阿里大鱼短信API接口的方法
阿里大鱼是阿里推出的产品,官方提供JAVA、.NET、PHP等版本的SDK下载,不知为何,唯独不提供ASP版本的SDK。
不提供没关系,自己写就是了,参照官方提供的API写一个就是了。
本来以为无非是向阿里大鱼的接口POST或者GET数据而已,但真正做了发现没有那么简单,最难的是签名,签名分两步一个是拼接参数,一个是加密。
原理如下:md5(secret+按顺序拼接好的参数名与参数值+secret)
1.对数组进行排序然后拼接
''
' 对数组排序
' param sPara 排序前的数组
' return 排序后的数组
Function SortPara(sPara)
Dim nCount
nCount = ubound(sPara)
For i = nCount To 0 Step -1
minmax = sPara( 0 )
minmaxSlot = 0
For j = 1 To i
mark = (sPara( j ) > minmax)
If mark Then
minmax = sPara( j )
minmaxSlot = j
End If
Next
If minmaxSlot <> i Then
temp = sPara( minmaxSlot )
sPara( minmaxSlot ) = sPara( i )
sPara( i ) = temp
End If
Next
SortPara = sPara
end function
''
' 把数组所有元素,按照“参数参数值参数参数值……”的模式拼接成字符串
' param sPara 需要拼接的数组
' return 拼接完成以后的字符串
Function CreateParamstring(sPara)
nCount = ubound(sPara)
Dim prestr
For i = 0 To nCount
prestr = prestr & sPara(i)
Next CreateParamstring = replace(prestr,"=","")
End Function
2.加密有两种:MD5和HMAC_MD5,我们使用MD5
''
' MD5签名
' param prestr 需要签名的字符串
' param secret 私钥
' param input_charset 编码格式
' return 签名结果
Function Md5Sign(prestr, secret, input_charset)
Dim mysign '把拼接后的字符串再与安全校验码直接连接起来
prestr = secret & prestr & secret mysign = MD5(prestr, input_charset) Md5Sign = UCase(mysign)
End Function 3.将签名拼接到url中请求远程接口 ''
' 建立请求,以模拟远程HTTP的GET请求方式构造并获取阿里大鱼纯文字类型处理结果
' param sParaTemp 请求前的参数数组
' return 阿里大鱼处理结果
Public Function BuildRequestHttpWord(sParaTemp)
Dim sUrl, objHttp, sResponseTxt '待请求参数数组字符串
sRequestData = BuildRequestParaToString(sParaTemp)
'构造请求地址
sUrl = GATEWAY_NEW & sRequestData 'response.Write(sRequestData)
'response.End() '获取远程数据
Set objHttp=Server.CreateObject("Microsoft.XMLHTTP")
'如果Microsoft.XMLHTTP不行,那么请替换下面的两行行代码尝试
'Set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
'objHttp.setOption 2, 13056
objHttp.open "GET", sUrl, False, "", ""
objHttp.send()
sResponseTxt = objHttp.ResponseText
Set objHttp = Nothing BuildRequestHttpWord = sResponseTxt
End Function
综上,就完成一次发送短信的操作。
asp实现阿里大鱼短信API接口的方法的更多相关文章
- PHP控制阿里云短信API接口实现短信群发功能
阿里云短信支持先使用后支付的原则,价格为4分半1条. 通过SDK可以与网站功能的绑定,实现响应的短信发送功能 现已统一合并升级为:消息服务. 消息服务 阿里云消息服务(Message Service, ...
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- 阿里大鱼短信接口整合Tp3.2.3开发整理
阿里大鱼 http://www.alidayu.com/ 的短信接口总体是不错的,别安驹个人认为不管是从性价比还是稳定性上都是跟同类的短信接口好些,毕竟是大公司的东西不会差到哪去.下面把之前开发的短信 ...
- 功能:使用QQ号登陆,并加上微信和短信提醒,是否增量备份可选,阿里大鱼短信发送开发与测试,聚合数据(用JSON发短信,比较清楚)
微博就可以,所以其它软件也可以http://desktop.weibo.com/ http://blog.csdn.net/jueblog/article/details/14497181http:/ ...
- ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录
首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...
- SpringBoot、ActiveMQ整合阿里大鱼-----短信服务
3.短信微服务 3.1需求分析 构建一个通用的短信发送服务(独立于优乐选的单独工程),接收activeMQ的消息(MAP类型) 消息包括手机号(mobile).短信模板号(template_code ...
- PHP阿里大鱼短信验证
PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定AppKEY和App Secret还有配置签名 第二步 在应用管理中选择SDK下载,或者直接点击http://down ...
- 如何防止短信API接口遍历
短信API接口在web中得到越来越多的应用,如用户注册,登录,密码重置等业务模块都会使用手机验证码进行身份验证.一般情况下,我们会采用这样的安全策略,将短信发送频率限制在正常的业务流控范围内,比如,一 ...
- ASP版_阿里大于短信API Demo
阿里大于申请地址:http://www.alidayu.com 阿里大于短信发送Demo: ******index.asp************* <%@LANGUAGE="VBSC ...
随机推荐
- js FormData 的使用
<div> <input type="file" name="filename" multiple="multiple" ...
- MongoDB 学习笔记(五):固定集合、GridFS文件系统与服务器端脚本
一.count.distinct与group 1.count函数:查询文档数,如下图: 2.distinct:去重,用法:db.runCommand({distinct:"集合名" ...
- centos 6.10 永久修改主机名
1> 修改配置文件 vim /etc/sysconfig/network #HOSTNAME=localhost.localdomain HOSTNAME=tomcat 2> 修改ho ...
- Nginx1.14.2新增tcp/udp代理stream
[root@rhel nginx-1.12.1]# ./configure --help --help print this message --prefix=PATH set installatio ...
- ELO kernels 记录
these kernel for discuss how to handle outliers in target values. 一:Ashish Gupta: 在16年6月到18年8月,激活卡的人 ...
- Linux安装expect命令
[Linux安装expect命令]:--expect是在Tcl基础上创建起来的,所以在安装expect前我们应该先安装Tcl.①:tcl安装源码下载:http://www.tcl.tk/softwar ...
- js:Array对象常用方法介绍
前言 在js中,数组作为一个特殊的对象.是我们常用的数据格式.今天就来梳理一下常用的数组方法. 1.基础 几种基础的就简单介绍一下:创建数组 var arr1 = new Array(); //括号可 ...
- 简洁又快速地处理集合——Java8 Stream(上)
Java 8 发布至今也已经好几年过去,如今 Java 也已经向 11 迈去,但是 Java 8 作出的改变可以说是革命性的,影响足够深远,学习 Java 8 应该是 Java 开发者的必修课. 今天 ...
- 使用githug游戏提高git水平
- BA-深化设计流程
本文分三个层次描述了常规BA系统深化设计应包含了步骤和文件,第一个.第二个为转载别人的步骤,第三个为本人写的步骤. 深化系统大体步骤: 1.认真阅读招标文件,明确招标方需求. 2.仔细查阅图纸,确定被 ...