读取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
方法。 方法get
, post
, put
和delete
已经调用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);