gpt4 book ai didi

javascript - Node.js HTTP 响应流

转载 作者:IT老高 更新时间:2023-10-28 23:05:07 25 4
gpt4 key购买 nike

使用 Node.js 中的原生 http.get(),我正在尝试将 HTTP 响应通过管道传输到可以绑定(bind) data 的流>结束事件。

我目前正在处理 gzip 数据,使用:

http.get(url, function(res) {
if (res.headers['content-encoding'] == 'gzip') {
res.pipe(gunzip);
gunzip.on('data', dataCallback);
gunzip.on('end', endCallback);
}
});

Gunzip 是一个流,这很有效。我尝试创建流(写入流,然后读取流)并通过管道传输响应,但运气不佳。对于非 gzip 压缩的内容,有什么建议可以复制同样的交易?

最佳答案

来自 HTTP 请求的响应对象是可读流的实例。因此,您将使用 data 事件收集数据,然后在 end 事件触发时使用它。

var http = require('http');
var body = '';

http.get(url, function(res) {
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
// all data has been downloaded
});
});

如果上面示例中的 body 是可写流,则 readable.pipe(dest) 基本上会做同样的事情。

关于javascript - Node.js HTTP 响应流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19580305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com