nodejs 搞定 阿里云短信API

时间:2016-12-03 21:23:22   收藏:0   阅读:1797

exports.sendSms=function(phone,content,ret){

 

var d={
RecNum:phone,
Action:‘SingleSendSms‘,
SignName:‘????‘,
TemplateCode:‘?????‘,
ParamString:‘{"code":"‘+content+‘"}‘,
Format:‘json‘,
Version:‘2016-09-27‘,
SignatureMethod:‘HMAC-SHA1‘,
SignatureNonce:Math.random()+‘‘,
SignatureVersion:‘1.0‘,
AccessKeyId:‘????‘,
Timestamp:JSON.stringify(new Date()).replace(/\"/g,‘‘),
}

var q=buildQueryString(d);

var key=‘?????&‘;
var s=‘GET&%2F&‘+encodeURIComponent(q);

var sign=hmac(s,key);
var href=‘Signature=‘+encodeURIComponent(sign)+‘&‘+encodeURI(buildQueryString1(d));

client = restify.createStringClient({
url: ‘https://sms.aliyuncs.com/?‘+href,

});

client.get(‘‘, function(err, req, res, data) {

ret(data);
});

}

function buildQueryString(d){
var i=0;
var ns=[];
for(var k in d){
ns[i]=k;
i++;
}
ns.sort();
var str=‘‘
for(var i in ns){
if(str) str+=‘&‘;
str+=encodeURIComponent(ns[i])+‘=‘+encodeURIComponent(d[ns[i]]);
}

return str;
}


function buildQueryString1(d){
var i=0;
var ns=[];
for(var k in d){
ns[i]=k;
i++;
}
ns.sort();
var str=‘‘
for(var i in ns){
if(str) str+=‘&‘;
str+=(ns[i])+‘=‘+(d[ns[i]]);
}

return str;
}

 

有“?”的地方自己替换相应的内容。

很乐意解答相关问题,有问题请加微信 thunder_f,添加时写一下验证信息哦。

评论(1
pphai 2017-03-06 23:22:12
阿里云短信发送接口 nodejs 版本:
https://github.com/freecto/aliyun-nodejs-sdk-smsV1
1
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!