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 new Promise(( 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();
        });
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值