在Node.js中将mikeal的请求和http / https模块进行比较

对于我的应用程序,我需要从另一个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的新手,我不知道哪一个更适合我的目的。

正如他在网站上所说的,Mikeal Rogers的“ 请求”模块是“旨在成为实现http调用的最简单方式”。 如果您需要的是与远程REST API进行交互的简单方法,那么这是一个很好的方法。 如果您需要处理较低级别的HTTP请求(例如,如果您需要侦听HTTP升级请求),则您需要使用Node的本地HTTP模块。

你的Facebook代码就是一个很好的例子,它可以让Request模块更加简单! 你可以基本上用你的FacebookgraphicsAPIurlreplace你的Google示例中的URL,然后从那里开始。