Fiddler更改压缩请求导致失败

时间:2014-10-29 17:38:12

标签: fiddler

我有一个发送压缩HTTP POST的应用。随着Fiddler运行,请求失败,因为服务器无法解压缩正文。关闭Fiddler消除了这个问题。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在提供的捕获中,请求正文被压缩两次(gzip,然后再次gzip),但Content-Encoding标题错误地仅列出Content-Encoding: gzip

请求的Content-Length标头也是错误的:它是Content-Length: 141但是发送到服务器的主体实际上是164个字节的长度。原始主体的长度为159个字节,第一个压缩传递将其缩短为141个字节,当已经压缩的内容被重新压缩时,它的长度增长到164个字节。

默认情况下,Fiddler并不关心双压缩内容或无效的Content-Encoding标头,因为除非您告知它,否则它不会尝试解压缩请求主体。我能想到的唯一解释是,也许你已经在FiddlerScript中编写了一些规则,它盲目地压缩了请求体,并导致了这个问题。怀疑这一点的另一个原因是Fiddler在阅读此请求时会抱怨无效的Content-Length标题,而且它并没有表明请求正文在Fiddler内部被修改。