如何无需写入文本文件,在控制台日志中显示Gzip内容?
可以直接下载Gzip文件并在控制台显示内容(无需写入文件)
当然没问题!你只需要给request请求添加一个关键配置,就能让它自动解压Gzip内容,直接在控制台输出,完全不用先写入本地文件。
为什么你的原代码可能不生效?
默认情况下,request不会自动识别并解压Gzip压缩的响应。如果服务器返回的是Gzip格式的内容,你直接打印body的话,得到的会是乱码的二进制数据,而不是可读的文本内容。
修改后的代码示例
只需要开启gzip: true配置项,request就会自动处理Gzip解压:
const request = require('request'); // 替换成你的Gzip文件URL const TARGET_URL = 'https://example.com/your-gzip-file.gz'; request({ url: TARGET_URL, gzip: true // 开启自动Gzip解压功能 }, (err, res, body) => { if (err) { console.error('请求失败:', err); return; } // 这里的body已经是解压后的可读内容了 console.log('解压后的内容:'); console.log(body); });
补充说明
- 这个配置会让
request自动检查响应头中的Content-Encoding: gzip标识,一旦检测到就会立即对数据进行解压。 - 如果你的Gzip文件是二进制类型(而非文本),打印出来可能还是乱码,但如果是文本类文件(比如压缩的JSON、HTML、日志等),就能直接看到可读内容。
内容的提问来源于stack exchange,提问作者devv
相关产品推荐
相关产品推荐

