如何在Node.js中进行远程REST调用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (262)

Node.js中,除了使用子进程进行CURL调用之外,是否有一种方法可以对远程服务器REST API 进行CURL调用并获取返回数据?

我还需要设置远程REST调用的请求头,以及GET(或POST)中的查询字符串。

我找到了这个:http : //blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs

但是它不会以任何方式显示POST查询字符串。

提问于
用户回答回答于

http.request

var options = {
  host: url,
  port: 80,
  path: '/resource?id=foo&bar=baz',
  method: 'POST'
};

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);
  });
}).end();
用户回答回答于

如何使用Request — Simplified HTTP client.。

这里是一个GET:

var request = require('request');
request('http://www.google.com', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body) // Print the google web page.
     }
})

OP还想要一个POST:

request.post('http://service.com/upload', {form:{key:'value'}})

扫码关注云+社区

领取腾讯云代金券