node封装短信发送

掌骏传媒短信接口

 请求地址的url,

http://120.77.14.55:8888/v2sms.aspx 对应UTF-8

http://120.77.14.55:8888/v2smsGBK.aspx 对应GB2312

this.api ="http://120.77.14.55:8888/v2sms.aspx"

let opts =url.parse(this.api);

上传方式用POST

opts.method ="POST";

填充上传参数

userid

企业id

企业ID

timestamp

时间戳

系统当前时间字符串,年月日时分秒,例如:20120701231212

sign

签名

使用 账号+密码+时间戳 生成MD5字符串作为签名。MD5生成32位,且需要小写

例如:

账号是test

密码是mima

时间戳是20120701231212

就需要用testmima20120701231212

来生成MD5的签名,生成的签名为5cc68982f55ac74348e3d819f868fbe1

其他参数没错的话,提示错误的时候检查加密结果对不对。

mobile

全部被叫号码

发信发送的目的号码.多个号码之间用半角逗号隔开 

content

发送内容

短信的内容,内容需要UTF-8编码

sendTime

定时发送时间

为空表示立即发送,定时发送格式2010-10-24 09:08:10

action

发送任务命令

设置为固定的:send

extno

扩展子号

请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多10位数。


提交必须是字符串 例如:

action=send&userid=12&tamp=20120701231212&sign =5cc68982f55ac74348e3d819f868fbe1&mobile=15023239810,13527576163&content=内容&sendTime=&extno=

先定义成对象 

qs.stringify()  转义成字符串

let timestamp ="20170905152700";
let obj = {
action: "action",
userid: "",
timestamp: timestamp,
}
obj.sign =this.createSign(timestamp);
let param =qs.stringify(obj);
return this._send(param);

引入this.api的url路径

提交方法 opts.method="POST"

_send(data) {
let opts =url.parse(this.api);
opts.method ="POST";
opts.headers = {
"Content-Length":Buffer.byteLength(data),//提交时按照,计算出的data长度提交
"Content-Type":"application/x-www-form-urlencoded"
};
return newPromise((resolve,reject)=> {
            let request = http.request(opts,function(res) {
                let chunks = [], len = 0;
                res.on("data",function(chunk) {
                    chunks.push(chunk);
                    len += chunk.length;
                }).on("end",function() {
                    let buf = Buffer.concat(chunks,len);
                    let str = buf.toString();
                    resolve(str);
                });
            });
            request.write(data);
            request.end();
        });
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值