Node.js 代理,处理 gzip 压缩
我目前正在开发一个代理服务器,在这种情况下我们必须修改我们推送的数据(通过使用正则表达式)。
在大多数情况下,它工作得很好,除了使用 gzip 作为内容编码的网站(我认为),我遇到了一个名为 compress 的模块,并尝试通过解压缩/gunzip 流推送我收到的块,但它不是结果真的如我所料。
我想知道我是否正朝着正确的方向前进,以及是否有更多模块可以让我的生活更轻松(关于 gzip 压缩)。
格雷兹,
本杰明
I'm currently working on a proxy server where we in this case have to modify the data (by using regexp) that we push through it.
In most cases it works fine except for websites that use gzip as content-encoding (I think), I've come across a module called compress and tried to push the chunks that I receive through a decompress / gunzip stream but it isn't really turning out as I expected.
I was wondering if I am at all heading in the right direction, and if there are more modules out there to make my life easier (regarding gzip compression).
Greetz,
Benjamin
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您认为您的代理只是用于过滤或修改文本,那么您会对 gzip 压缩和解压缩感到冗长。
另一个解决方案很简单。
修改http请求头。然后你就可以从服务器获取纯文本。
从 http 请求标头中删除“Accept-Encoding”。
If you think your proxy is just for filtering or modifying text, you feel verbose about gzip compression and decompression.
Another solution is simple.
Modify http request header. Then you can get plain text from server.
Remove 'Accept-Encoding' from http request header.
参阅此处:Node.js 代理,处理 gzip 解压缩
请 答案涵盖了我的大部分问题。
See here: Node.js proxy, dealing with gzip DEcompression
For an answer that covered most of my problems.
看看那里: Node.js:Gzip 压缩?
有一个使用节点的替代方案 - compress,但是也提到了这个解决方案。
干杯,
-斯坦
Have a look there: Node.js: Gzip compression?
There is a alternative to using node-compress, but this solution is also mentioned.
Cheers,
-stan