使用Request转换节点js的cURL请求

时间:2014-10-10 12:08:09

标签: node.js curl request

我猜这是一个简单的问题: 我想在Node.js服务器上发出请求,因为我目前正在使用cURL。无论我尝试什么,我都会从服务器收到错误404.

这是我的有效cURL命令,它返回一个JavaScript对象:

curl --data "ajax=1&example=test" http://some-site-example.com

阅读cURL手册和请求手册后,我在Node.js尝试了以下内容:

request.post({'content-type':'application/x-www-form-urlencoded',ajax:'1',example:'test',url:'http://some-site-example.com'}, function(err, result, body) {
    if (err) console.log(err);    
    else console.log(body);
});

2 个答案:

答案 0 :(得分:1)

application/x-www-form-urlencoded form的选项错误。此外,通过指定form,它会自动设置正确的Content-Type。所以试试这个:

request.post({form: {ajax:'1', example:'test'}, url: 'http://some-site-example.com'}, function(err, response, body) {

而不是:

request.post({'content-type':'application/x-www-form-urlencoded',ajax:'1',example:'test',url:'http://some-site-example.com'}, function(err, result, body) {

答案 1 :(得分:0)

这应该这样做,表单会自动添加内容类型here's the manual

request.post('http://some-site-example.com', {form: {ajax:'1',example:'test'}}, function(err, result, body) {
    if (err) console.log(err);    
    else console.log(body);
});