如何使用Restler下载网站并将其写入文件?

我想下载一个网站(html),并将其写入到一个带有节点和restler的.html文件中。

https://github.com/danwrong/Restler/

他们最初的例子已经在一半了:

var sys = require('util'), rest = require('./restler'); rest.get('http://google.com').on('complete', function(result) { if (result instanceof Error) { sys.puts('Error: ' + result.message); this.retry(5000); // try again after 5 sec } else { sys.puts(result); } }); 

而不是sys.puts(result); ,我需要把它保存到一个文件。

我很困惑,如果我需要一个Buffer ,或者如果我可以直接写入文件。

您可以简单地在节点中使用fs.writeFile

 fs.writeFile(__dirname + '/file.txt', result, function(err) { if (err) throw err; console.log('It\'s saved!'); }); 

或者stream式更多推荐的方法,可以处理非常大的文件,并且非常有效率:

 // create write stream var file = fs.createWriteStream(__dirname + '/file.txt'); // make http request http.get('http://example.com/', function(res) { // pipe response into file res.pipe(file); // once done file.on('finish', function() { // close write stream file.close(function(err) { console.log('done'); }); }); });