我有一个发送压缩HTTP POST的应用。随着Fiddler运行,请求失败,因为服务器无法解压缩正文。关闭Fiddler消除了这个问题。有什么想法吗?
答案 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内部被修改。