博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs 搞定 阿里云短信API 后面有适用于小白的解决方案
阅读量:6995 次
发布时间:2019-06-27

本文共 1341 字,大约阅读时间需要 4 分钟。

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;
}

 

var hmac=function (s,key){

var h = crypto.createHmac('sha1', key);
h.update(s);
return h.digest().toString('base64');
}

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

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

转载于:https://www.cnblogs.com/fsd1/p/6129457.html

你可能感兴趣的文章