发布于 2017-02-01 11:26:00 | 679 次阅读 | 评论: 0 | 来源: 网友投递
Node.js 服务器端的JavaScript
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
参考nodejs官网发送http post请求的方法,实现了一个模拟post提交的功能。实际使用时报socket hang up错误。
后来发现是请求头设置的问题,发送选项中需要加上headers字段信息(这个估计也和对方的服务器有关,对于不完成的post请求头,可能被丢弃了)。
完整的代码如下(遇到类型问题的同学可以做个参考):
var querystring = require('querystring')
, http = require('http');
var data = querystring.stringify({
info:'hi',
test:5
});
var opt = {
hostname:'www.test.com',
port :9094,
path:'/perationSqlQuery',
method: 'POST',
headers: {
'Content-Type':'application/x-www-form-urlencoded',
'Content-Length': data.length
}
};
var req = http.request(opt, function (res) {
res.on('data', function (data) {
console.log(data.toString());
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.write(data);
req.end();