一尘不染

通过gzip / deflate压缩轻松进行HTTP请求

node.js

我试图弄清楚如何轻松发送HTTP / HTTPS请求以及处理gzip / deflate压缩响应以及cookie的最佳方法。

我发现最好的是https://github.com/mikeal/request,它可以处理
压缩 以外的 所有内容。是否有模块或方法可以满足我的要求?

如果没有,我可以某种方式组合请求和zlib吗?我尝试将zlib和组合在一起http.ServerRequest,但失败了。


阅读 326

收藏
2020-07-07

共1个答案

一尘不染

注意:从2019年开始,请求已内置gzip解压缩。您仍然可以使用以下方法手动解压缩请求。

你可以简单地结合起来request,并zlib采用流。

这是一个示例,假设您有一台服务器正在侦听端口8000:

var request = require('request'), zlib = require('zlib');

var headers = {
    'Accept-Encoding': 'gzip'
};

request({url:'http://localhost:8000/', 'headers': headers})
    .pipe(zlib.createGunzip()) // unzip
    .pipe(process.stdout); // do whatever you want with the stream
2020-07-07