0

在以下文件中: https ://github.com/adamfisk/LittleProxy/blob/master/src/main/java/org/littleshoot/proxy/impl/ProxyToServerConnection.java

我需要添加一个“通道处理程序”,它将压缩 gzip 内容。我不知道如何在没有网络知识的情况下做到这一点。有人可以告诉我正确的方向吗?

4

1 回答 1

1

正如其他人指出的那样,您的代码有点太长了,这让这个网站上的人们的生活变得更加困难,但我想我可以帮助你一点。

简单解释一下 netty,您收到的每个请求都经过处理程序管道,每个请求都有自己的关联管道。

因此,在启动管道的方法中,您应该添加一个用于解压的处理程序,在您的情况下:

initChannelPipeline(ChannelPipeline pipeline, HttpRequest httpRequest)

您正在寻找的处理程序是HttpContentDecompressorHttpContentCompressor无论您是尝试解压缩 gzip 数据还是将其压缩为 gzip(不清楚您是否说要对 gzip 内容进行放气。如果是 gzip 或放气,您应该说充气它如果没有被压缩。把它想象成一个气球。当充气时,它会占用更多的空间)。

您应该注意在管道中添加处理程序的顺序。

有关更多说明,请参阅通道管道文档

于 2015-04-29T08:27:14.117 回答