【问题标题】:unable to send parameters using http.request in node.js无法在 node.js 中使用 http.request 发送参数
【发布时间】:2013-03-06 08:46:36
【问题描述】:

我使用的脚本是:

var http = require('http');
var options = {
  host: 'some url',
  port: 80,
  path: 'path',
  method: 'POST'
};

var req = http.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);
  });
});

req.on('error', function(e) {
  console.log('problem with request: ' + e.message);
});

// write data to request body
req.write('username=abcd&password=defg');
req.end();

我收到了服务器 404 bad request 的响应。但是当我使用 firefox 附加组件“poster”将相同的参数发布到服务器时。我得到了正确的回复,即 200 状态代码。 . 我认为这是我在req.write() 中传递的字符串的问题。但同样的字符串在海报上也能正常工作。有人能解释一下问题是什么吗?

【问题讨论】:

  • 您的意思是 400(错误请求)还是 404(未找到页面)?

标签: node.js httprequest http-status-code-400


【解决方案1】:

在我看来,缺少 Content-Type 标头。它可能应该设置为application/x-www-form-urlencoded

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-10
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多