读取node.js中的缓冲区对象

我试图通过这个节点模块称为Wreck获取HTML页面

获取数据应该非常容易,但我无法获取它们

'use strict'; var Wreck = require('wreck'); var url = 'http://www.google.it'; var callback = function(err, response, payload){ Wreck.read(response, null, function(err, body){ //here print out the html page }); }; Wreck.get(url, callback); 

这里上面的一个简单的脚本只是开发人员的自述文件的副本。 根据文档body应该返回一个缓冲区对象,但我怎么能读取内部的身体对象? 我已阅读使用toJSON或toString(),但我没有得到任何结果

…但我没有得到任何结果

你会得到一个结果,一个空的Buffer ,但它可能不是你想要的。

事实是:您正在使用read方法错误,将其传递给get方法。 方法getpostputdelete已经调用read internaly并且在callbackBuffer为你返回可读的Buffer 。 看看get 文档 :

得到(uri,[options],callback)

GET操作的便捷方法。

  • uri – 请求的资源的URI。
  • 选项 – 包含请求和读取操作设置的可选configuration对象。
  • callback – 使用签名函数(err,response,payload)的callback函数,其中:
    • err – 处理请求期间可能发生的任何错误。
    • 响应 – HTTP传入消息对象,这也是一个可读的stream。
    • 有效载荷 – 以缓冲区或(可选)parsing的JavaScript对象(JSON)forms的有效载荷。

所以,使用get方法非常简单(使用你自己的例子):

 var callback = function(err, response, payload){ console.log(payload.toString()); // converting the buffer to a string and logging }; Wreck.get(url, callback);