美文网首页
如何在NodeJs中执行post操作

如何在NodeJs中执行post操作

作者: belllee | 来源:发表于2019-01-17 10:50 被阅读0次

工作中有一个需求,需要调用邮件接口发送邮件,也就是需要执行post操作。这里记录下遇到的坑。

代码示例

var https = require('https');
function sendmail(users){
let post_data = new Buffer(JSON.stringify(
{
from:'',
to:'',
cs:'',
ms: users.join(','),
subject:'邮件标题',
content:'邮件内容'
}
));
let opts = {
hostname: appConfig.mailHost,
port:443,
path: '/api/send/mail',
method: 'POST',
rejectUnauthorized:false,
headers:{
'Content-Type' : 'application/json;',
'Content-Length' : post_data.length,
}
};
let req = https.request(opts, function(res) {
var _data='';
res.on('data', function(chunk){
_data += chunk;
});
res.on('end', function(){
//console.log("\n sendmail--->> \n result:",_data)
logger.info("\n sendmail--->> \n result:",_data);
});
});
req.write(post_data);
req.end();
}

遇到的坑

这里有几个需要注意的坑:

http和https依赖的库不一样,根据实际情况引用。

data必须进行处理 new Buffer(JSON.stringify(mail)),特别是Buffer,如果不作处理,有中文的时候会导致数据长度不符,服务器端解析json异常。

如果https的安全证书不是合法的,可以使用rejectUnauthorized:false 忽略证书。

相关文章

  • 如何在NodeJs中执行post操作

    工作中有一个需求,需要调用邮件接口发送邮件,也就是需要执行post操作。这里记录下遇到的坑。 代码示例 var h...

  • 如何在BroadcastReceiver中执行耗时操作

    在回答这个问题之前,首先简单介绍一下 BroadcastReceiver的用法应注意的地方及其生命周期。 一、Br...

  • Ubuntu 安装/更新 node和npm

    方法是针对系统中已存在nodejs,由于版本低需要升级可以进行如下操作,依次执行即可完成node升级: Using...

  • EventBus的ThreadMode

    ThreadMode1 PostThread:默认的 ThreadMode,表示在执行 Post 操作的线程直...

  • nodejs+mongodb

    nodejs操作 mongodb数据库增删改查 创建node增删改查执行文件

  • How to use Nginx to play as prox

    This post is for those familiar with nodejs, npm and Ngin...

  • Node-1:Node.js简介

    基于知乎中前辈的建议

  • NodeJS

    NodeJS是一个JS脚本解析器,任何操作系统下安装NodeJS本质上做的事情都是把NodeJS执行程序复制到一个...

  • Nodejs+Mongodb

    nodejs操作 mongodb数据库增删改查 创建node增删改查执行文件 有闪电

  • Linux安装Node+Npm

    node官网下载node安装包 https://nodejs.org/zh-cn/download/ 执行解压操作...

网友评论

      本文标题:如何在NodeJs中执行post操作

      本文链接:https://www.haomeiwen.com/subject/vlgbdqtx.html