bodyparser() を使用する nodejs アプリと、このルートがあります。
app.post('/users', function(req, res){
res.json(req.body)
})
私がカールするとき
curl -X POST 127.0.0.1:3000/users -d 'name=batman'
サーバーはこの json を返します:
{ name: 'batman' }
私の問題は、http.requestで同じリクエストを作成しようとするときです.req.bodyは空ですが、同じ呼び出しを行っています.nodeで実行するtest.jsファイルは次のとおりです。
var http = require('http');
var options = {
host: '127.0.0.1',
port: 3000,
path: '/api/users',
method: 'POST'
};
var request = http.request(options, function (response) {
var str = '';
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(str);
});
});
request.end("name=batman");
リクエスト本文が空です ->{}
なぜ ?content-length を設定しようとしましたが、何もしません。