我可以让Fiddler解压缩出站流量吗?

时间:2014-05-12 13:18:34

标签: proxy gzip fiddler

为了复制一些用户使用我的应用程序的问题,我需要模拟一个公司代理服务器,该服务器解压缩GZIP&#http流量,并且在将其传递到目标服务器之前不会重新压缩它。用户收到错误" GZIP标头中的幻数不正确"并且我怀疑代理服务器没有重新压缩解压缩的GZIPed流量。

有没有办法可以用Fiddler模​​拟这个?具体来说,我认为我需要模拟代理解压缩正文,并且可能不会改变标题以匹配。

2 个答案:

答案 0 :(得分:3)

是的,Fiddler可以以您喜欢的任何方式操纵HTTP请求和响应。

首先,请确认您的申请GZIP是请求正文。虽然压缩响应非常常见,但由于多种原因,压缩请求的情况非常少见。

之后,您可以执行以下操作:

  1. 在Fiddler中,点击Rules> Customize Rules
  2. 滚动至OnBeforeRequest
  3. 在方法内,添加以下代码: if (oSession.oRequest.headers.ExistsAndContains("Content-Encoding", "gzip")) { oSession.utilDecodeRequest(); // Decompress request and remove header oSession.oRequest["Content-Encoding"] = "gzip"; // Put header back oSession["ui-backcolor"] = "yellow"; // Mark the session }

  4. 保存脚本。

答案 1 :(得分:0)

尝试:

后来,我发现fiddler中的GZIP zip / unzip功能无法正常工作。有些应用程序基于HTTP协议,也可以使用GZIP格式压缩HTTP请求和响应。所以我决定使用Fiddler脚本编辑器编写一些脚本来转换和提取GZIP格式的请求。这是代码,将其复制到CustomRules.js文件(规则---->自定义规则)

http://yossi-yakubov.blogspot.fr/2010/05/fiddler-gzip-issue.html