mikeal的请求和Node.js中的http / https模块之间的比较

时间:2014-03-26 01:27:38

标签: javascript node.js facebook-graph-api express request

对于我的应用程序,我需要从另一个api端点读取,比如facebook。这就是我现在正在做的事情:

var https=require('https');
var querystring=require('querystring');
var _my_lat=37.78583526611328;
var _my_lng=122.40641784667969;
var _my_fb_access_token ='somebigvaluefromfacebook';
var params = {
        type: 'place',
        center: _my_lat+','+_my_lng,
        access_token: _my_fb_access_token
};
var url = 'https://graph.facebook.com/search?'+querystring.stringify(params);
https.get(url, function(res) {
    var msg = '';
    res.on('data', function(chunk) {
        msg+=chunk;
    });
    res.on('end', function() {
        var v = JSON.parse(msg);
        //do stuff with v
    });
}).on('error', function(e) {
    //do stuff with e
});

但是,我最近发现了这个:https://github.com/mikeal/request,链接中的示例如下:

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.
  }
})

我是Node.js的新手,我无法弄清楚哪一个更符合我的目的。

1 个答案:

答案 0 :(得分:4)

迈克尔罗杰斯'正如他在网站上所说的那样,Request模块是"旨在成为进行http调用的最简单方式"。如果您需要的是与远程REST API交互的简单方法,那么这是一个很好的方法。如果您需要在较低级别处理HTTP请求 - 例如,如果您需要侦听HTTP升级请求 - 您将要使用Node的本机HTTP模块。

您的Facebook代码是使用Request模块更简单的一个很好的例子!您基本上可以使用Facebook Graph API URL替换Google示例中的网址,然后从那里开始。