Nodejs实现短信验证码功能

作者:睡不够大师 时间:2024-05-08 09:37:32 

使用Nodejs的开发者愈来越多,基于Nodejs的后台开发也多了起来,像短信验证码、短信群发、国际短信这些需求,完全可以采用第三方接口来实现,云片就提供了这样的接口。

Nodejs


// 修改为您的apikey.可在官网(https://www.yunpian.com)登录后获取
var https = require('https');
var qs = require('querystring');
var apikey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// 修改为您要发送的手机号码,多个号码用逗号隔开
var mobile = 'xxxxxxxxxxx';
// 修改为您要发送的短信内容
var text = '【云片网】您的验证码是1234';
// 指定发送的模板编号
var tpl_id = 1;
// 指定发送模板的内容
var tpl_value = {'#code#':'1234','#company#':'yunpian'};
// 语音短信的内容
var code = '1234';
// 查询账户信息https地址
var get_user_info_uri = '/v2/user/get.json';
// 智能匹配模板发送https地址
var sms_host = 'sms.yunpian.com';
var voice_host = 'voice.yunpian.com';
send_sms_uri = '/v2/sms/single_send.json';
// 指定模板发送接口https地址
send_tpl_sms_uri = '/v2/sms/tpl_single_send.json';
// 发送语音验证码接口https地址
send_voice_uri = '/v2/voice/send.json';
query_user_info(get_user_info_uri,apikey);
send_sms(send_sms_uri,apikey,mobile,text);
send_tpl_sms(send_tpl_sms_uri,apikey,mobile,tpl_id,tpl_value);
send_voice_sms(send_voice_uri,apikey,mobile,code);
function query_user_info(uri,apikey){
var post_data = {
'apikey': apikey,
};//这是需要提交的数据
var content = qs.stringify(post_data);
post(uri,content,sms_host);
}
function send_sms(uri,apikey,mobile,text){
var post_data = {
'apikey': apikey,
'mobile':mobile,
'text':text,
};//这是需要提交的数据
var content = qs.stringify(post_data);
post(uri,content,sms_host);
}
function send_tpl_sms(uri,apikey,mobile,tpl_id,tpl_value){
var post_data = {
'apikey': apikey,
'mobile':mobile,
'tpl_id':tpl_id,
'tpl_value':qs.stringify(tpl_value),
};//这是需要提交的数据
var content = qs.stringify(post_data);
post(uri,content,sms_host);
}
function send_voice_sms(uri,apikey,mobile,code){
var post_data = {
'apikey': apikey,
'mobile':mobile,
'code':code,
};//这是需要提交的数据
var content = qs.stringify(post_data);
console.log(content);
post(uri,content,voice_host);
}
function post(uri,content,host){
var options = {
 hostname: host,
 port: 443,
 path: uri,
 method: 'POST',
 headers: {
  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
 }
};
var req = https.request(options, function (res) {
 // console.log('STATUS: ' + res.statusCode);
 // console.log('HEADERS: ' + JSON.stringify(res.headers));
 res.setEncoding('utf8');
 res.on('data', function (chunk) {
  console.log('BODY: ' + chunk);
 });
});
//console.log(content);
req.write(content);
req.end();
}

上面就是云片的全部接口,在实际使用的过程中,可以根据自己的需求,选择对应的接口使用,具体的可以看这篇文章如何使用云片API发送短信验证码,里面讲了如何使用单发短信API、群发短信API、不同短信内容批量发送API,很实用。

另外最重要的是,云片的服务还不错,短信的到达率比较高,出了问题也有人及时回复,这点在国内所有SaaS厂家中,算是做得很好的一家。

来源:http://www.jianshu.com/p/792ca074bbb3

标签:nodejs,短信,验证码
0
投稿

猜你喜欢

  • 详解CentOS升级Python2.6到Python2.7并安装pip

    2023-06-13 18:59:45
  • jupyter notebook使用argparse传入list参数

    2022-12-25 16:54:03
  • BERT vs GPT自然语言处理中的关键差异详解

    2022-04-01 08:15:36
  • mysql 截取指定的两个字符串之间的内容

    2024-01-17 21:19:54
  • 如何做一个只搜索本网站的引擎?

    2010-07-12 19:02:00
  • centos yum php 7.x 无需删除升级的方法

    2023-11-20 14:48:08
  • 如何解决在Azure上部署Sqlserver网络访问不了

    2024-01-14 07:47:38
  • Python脚本实现自动登录校园网

    2023-01-26 09:37:56
  • python生成随机图形验证码详解

    2023-11-20 22:28:10
  • Python plt 利用subplot 实现在一张画布同时画多张图

    2021-02-04 02:50:17
  • 教你用Python pygame设置窗口标题和图标

    2023-01-21 08:04:22
  • vscode 配置 python3开发环境的方法

    2022-09-05 22:54:34
  • bpython 功能强大的Python shell

    2022-05-08 22:12:06
  • mysql中各种常见join连表查询实例总结

    2024-01-19 05:31:52
  • Go 微服务开发框架DMicro设计思路详解

    2024-05-22 17:48:31
  • asp如何获知页面上的图象的实际尺寸?

    2009-11-24 20:50:00
  • Python入门教程(十七)Python的While循环

    2022-07-31 13:42:27
  • MySQL实现配置主从复制项目实践

    2024-01-15 16:54:20
  • 基于生活形态的用户分群研究

    2009-12-30 16:54:00
  • Go语言中的闭包详解

    2023-06-30 05:27:14
  • asp之家 网络编程 m.aspxhome.com