<p>代码: </p>
<pre><code> var u = url.parse(urls); http.get({ host: u[‘host’], port: 80, path: u[‘path’] }, function(res){ if (res.statusCode == 200){ //log();//要记下URL输出的内容 }else{ log(urls+":\n" + res.statusCode); } } ).on(‘error’, function(e){ log("Got error: " + e.message); }); </code></pre>
<p>怎么取得请求URL输出的文本啊?</p>
哦,知道了, <pre><code> res.on(‘data’, function (chunk) { console.log('BODY: ’ + chunk); }); </code></pre>
注意chunk的拼接。
这个拼接好像很麻烦,我怎么知道哪次chunk最后的啊? 不过还好,我的应用输出的东西长度不会超过20个字节,应该不会分二次发过来了
这个拼接好像很麻烦,我怎么知道哪次的chunk是最后一个啊?
不过还好,我的应用输出的东西长度不会超过20个字节,应该不会分二次发过来了
如果只是想全部输出到命令行中,可以这样
res.pipe(process.stdout);
pipe?? 官方文档没查到这个,回头试试
囧~,不能因为短就不会呀,res除了 data事件, 还有end事件,绑定之,就妥了
pipe是stream的方法, http的response 就是一个stream实例,是可以pipe的。看stream的文档,能找到这个方法的说明。zlib的文档,有gzip输出的例子,里面就用到了pipe,即看即懂 :)
谢谢.
又回去看了看,在ClientResponse中看到了:
The response implements the Readable Stream interface.
唉,看得太粗心了。。。
@fish 嗯,懂了,谢谢 是可以这样解决