Fiddler无法解压缩gzip响应

27

我使用 Fiddler 调试我的应用程序。当服务器压缩响应时,Fiddler 显示不可读的二进制数据而非解压缩的响应:

/* Response to my request (POST) */
HTTP/1.1 200 OK
Server: xyz.com
Date: Tue, 07 Jun 2011 22:22:21 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.3.3
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip

14
����������������
0

我该如何获取已压缩的响应并进行解压缩?

3个回答

45

我使用Fiddler版本2.3.4.4,刚刚注意到在 "Inspectors" 选项卡 ("Raw" 子选项卡) 中,在响应部分上方(如果是gzip压缩的响应),会出现以下代码:"Response is encoded and may need to be decoded before inspection. Click here to transform." 如果你点击它,响应就变得可读了。 设置基本上是默认的,我只安装了Fiddler,没有改变任何东西。


4
我真是该死,我从来没有看过那条小黄信息;就像它被一个“别人的问题”隐形装置所隐藏。 - Sam Porch

28

如果你不想像被采纳的答案中那样每个响应都要点击一次,可以使用菜单,点击规则 -> 删除所有编码。


3
这是正确的答案。或者单击Fiddler工具栏中的DECODE按钮。 - EricLaw
@EricLaw 实际上你的评论就是正确答案! - Mehdi Dehghani

7

来自Fiddler常见问题解答:

问:我想在网站上浏览一下,然后在所有记录的请求/响应中搜索文本。我想知道Fiddler是否会在搜索期间自动解压缩gzip响应?

答:默认情况下,Fiddler不会在搜索期间解压缩,因为它需要在内存中保留压缩和解压缩后的正文(出于数据完整性原因)。

在当前版本的Fiddler中,您可以在“查找”对话框中选中“解码压缩内容”复选框。

这里是该网站的链接:

http://www.fiddler2.com/fiddler/help/faq.asp


我想在 Fiddler 中查看响应文本,但它被压缩了。我不需要搜索它,只需要查看它。这在调试 AJAX 组件时是必要的。 - Xaqron
我认为这篇文章可能会有所帮助。https://dev59.com/PkXRa4cB1Zd3GeqPtaFL - Brian Dishaw
真的很令人沮丧,听到这点我感到很抱歉。当您让插件与那些出现错误的网站配合工作时,能否分享您的解决方案? - Brian Dishaw
1
当然可以。但是StackOverFlow没有这样的选项。我猜问题出在HTTP头上。有些网站声称他们使用Gzip,但实际上他们使用其他算法。我已经使用了ICSharpCode.SharpZipLib - Xaqron
我最终使用了Charles web debugger,它有30天的免费试用期,并且比Fiddler拥有更多的选项。它是基于Java的。你可以在这里找到它:http://www.charlesproxy.com - Xaqron
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接