我正在开发一个Web客户端,它使用Node.js's request module请求服务器。发送的请求是POST请求。服务器使用Express以Node.js编写。还有一层NGINX作为代理并将请求重定向到Node.js中写入的服务器。Node.js请求模块+ NGINX
问题是: 每当我尝试发送请求时,如果没有明确定义任何头文件,NGINX将发送内容长度为#411的错误(长度要求)。当我尝试使用浏览器和卷曲发送类似的请求时,一切正常。示例代码如下:
request.post(url, function(err, response, data) {
if(err) {
console.log(err);
} else {
console.log(data);
}
}).form({'data':'someValue'})
而且,现在当我添加内容长度到的请求中的报头,然后NGINX挂起,似乎NGINX正在等待更多的数据到达。 NGINX不会将请求转发给服务器。
选项添加到包含内容长度
var dataObj = {'data' = 'someValue'};
var options = {
'uri' = url
, 'headers' = {
'Content-Length' = JSON.stringify(dataObj).length
}
};
request.post(options, function(err, response, data) {
if(err) {
console.log(err);
} else {
console.log(data);
}
}).form({'data':'someValue'});
我在做什么错在发送请求?