我正在使用 selenium 和 browsermob-proxy,最终由“netty-all”提供支持,以访问一个站点(在我的控制之外),该站点提供了大量的标头作为其身份验证过程的一部分。代理失败并出现 netty 错误:
io.netty.handler.codec.TooLongFrameException: HTTP header is larger than 16384 bytes., version: HTTP/1.1
我需要从netty-all
我的 browsermob-proxy 所依赖的 jar 中删除所有此类限制,可扩展性、性能和内存节省与此用例无关。
克隆了 repo 后,我改变了:
DEFAULT_MAX_FRAME_SIZE
在WebSocket00FrameDecoder
(io.netty.handler.codec.http.websocketx)HttpObjectDecoder
默认构造函数在io.netty.handler.codec.http
到Integer.MAX_VALUE
适当的地方。
然而,即使有了这些新设置,它仍在使用中不断抛出“HTTP 标头大于 16384 字节”。
- 这个 16384 限制还能从哪里来?
- 如何在保留全部功能的同时删除它(以可接受的效率/内存使用成本等)