Proxy Node.js代理,处理gzip压缩

Proxy Node.js代理,处理gzip压缩,proxy,compression,gzip,node.js,content-encoding,Proxy,Compression,Gzip,Node.js,Content Encoding,我目前正在一个代理服务器上工作,在这种情况下,我们必须(通过使用regexp)修改推送的数据 在大多数情况下,除了使用gzip作为内容编码的网站(我想),它工作得很好,我遇到了一个名为compress的模块,并试图通过解压缩/gunzip流推送我收到的块,但结果并不像我预期的那样 我想知道我是否朝着正确的方向前进,是否有更多的模块可以让我的生活更轻松(关于gzip压缩) 格里茨 本杰明看看那里: 使用节点压缩还有一种替代方法,但也提到了此解决方案 干杯 -斯坦看看那里: 使用节点压缩还有一种替代

我目前正在一个代理服务器上工作,在这种情况下,我们必须(通过使用regexp)修改推送的数据

在大多数情况下,除了使用gzip作为内容编码的网站(我想),它工作得很好,我遇到了一个名为compress的模块,并试图通过解压缩/gunzip流推送我收到的块,但结果并不像我预期的那样

我想知道我是否朝着正确的方向前进,是否有更多的模块可以让我的生活更轻松(关于gzip压缩)

格里茨

本杰明

看看那里:

使用节点压缩还有一种替代方法,但也提到了此解决方案

干杯

-斯坦

看看那里:

使用节点压缩还有一种替代方法,但也提到了此解决方案

干杯

-斯坦参见这里:

有关涵盖我大部分问题的答案,请参见此处:


如果您认为您的代理只是用于过滤或修改文本,那么您会对gzip压缩和解压缩感到冗长

另一个解决方案很简单。
修改http请求头。然后您可以从服务器获取纯文本


从http请求头中删除“接受编码”

如果您认为您的代理只是用于过滤或修改文本,那么您会对gzip压缩和解压缩感到冗长

另一个解决方案很简单。
修改http请求头。然后您可以从服务器获取纯文本


从http请求头中删除“接受编码”

你说的“结果不如预期”是什么意思?对于gzip(或任何一种无损压缩),它通常要么起作用,要么不起作用,最终你会听到无用的胡言乱语。如果是这种情况,很可能是编码问题。您不能将
utf8
流发送到解压模块,并期望它完全解压。流必须保持其本机
缓冲区
格式。你说的“结果不符合预期”是什么意思?对于gzip(或任何一种无损压缩),它通常要么起作用,要么不起作用,最终你会听到无用的胡言乱语。如果是这种情况,很可能是编码问题。您不能将
utf8
流发送到解压模块,并期望它完全解压。流必须保持其本机
缓冲区
格式.req.headers['accept-encoding']='*;q=1,gzip=0';//强制解压缩请求头['accept-encoding']='*;q=1,gzip=0';//强制取消预订