【发布时间】:2020-11-03 01:24:27
【问题描述】:
我正在使用 Axios 从 Web 服务器获取 JSON 响应。响应采用压缩的 gzip 格式。如何解压响应并获取 Json 数据。
【问题讨论】:
标签: json axios compression gzip response
我正在使用 Axios 从 Web 服务器获取 JSON 响应。响应采用压缩的 gzip 格式。如何解压响应并获取 Json 数据。
【问题讨论】:
标签: json axios compression gzip response
const zlib = require('zlib')
let url = "https://example.com/GZ_FILE.gz"
const { data } = await axios.get(url, { responseType: 'arraybuffer' })
zlib.gunzip(data, function (_err, output) {
console.log(output.toString())
})
【讨论】:
axios 有一个解压缩选项。无需手动解压:
const { data } = await axios.get(url, { responseType: 'arraybuffer', 'decompress': true })
此外,如果您的 Accept-Encoding 标头不包含 gzip(或任何其他压缩格式),则您的服务器不应发送压缩内容。
【讨论】: