我有一个发送压缩HTTP POST的应用程序。在Fiddler运行的情况下,请求会失败,因为服务器无法解压缩正文。关闭Fiddler消除了这个问题。有什么想法吗?
在提供的捕获中,请求体被压缩了两次(gzip
,然后是gzip
),但Content-Encoding
标头错误地只列出了Content-Encoding: gzip
。
请求的Content-Length
标头也不正确:它是Content-Length: 141
,但发送到服务器的正文实际上是164
字节的长度。原始正文的长度为159
字节,第一次压缩将其压缩为141
字节,当重新压缩已压缩的内容时,其长度将增长为164
字节。
默认情况下,Fiddler不关心双重压缩的内容或无效的content-Encoding标头,因为除非你告诉它,否则它不会尝试解压缩请求体。我能想到的唯一解释是,也许你在FiddlerScript中写了一些规则,盲目压缩请求体,这导致了这个问题。怀疑这一点的另一个原因是,Fiddler在读取此请求时会抱怨Content-Length
标头无效,而且这并不意味着请求主体在Fiddler内部进行了修改。