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

Proxy 我可以让Fiddler解压出站流量吗?,proxy,gzip,fiddler,Proxy,Gzip,Fiddler,为了复制一些用户在我的应用程序中遇到的问题,我需要模拟一个公司代理服务器,它解压缩GZIP的http流量,并且在将其传递到目标服务器之前不重新压缩它。用户收到错误“GZIP头中的幻数不正确”,我怀疑代理服务器没有重新压缩解压缩的GZIPed流量 有没有办法用Fiddler来模拟?具体地说,我认为我需要模拟proxys对主体进行解压缩,并且可能不改变头以进行匹配。是的,Fiddler可以以您喜欢的任何方式操纵HTTP请求和响应 首先,请确认您的应用程序GZIP是请求正文。虽然压缩响应非常常见,但压

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


有没有办法用Fiddler来模拟?具体地说,我认为我需要模拟proxys对主体进行解压缩,并且可能不改变头以进行匹配。

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

首先,请确认您的应用程序GZIP是请求正文。虽然压缩响应非常常见,但压缩请求却非常少见,原因有很多

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

  • 在Fiddler中,单击
    规则
    自定义规则
  • 在请求之前滚动到
    OnBeforeRequest
  • 在方法内部,添加以下代码:
    
    if(oSession.oRequest.headers.ExistsAndContains(“内容编码”、“gzip”))
    {
    oSession.utilDecodeRequest();//解压缩请求并删除头
    oSession.oRequest[“内容编码”]=“gzip”;//放回头
    oSession[“ui背景”]=“黄色”;//标记会话
    }

  • 保存脚本

  • 试着:

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


    是的,我有自定义代码来压缩请求(我现在很后悔把它放进去,因为代理服务器在处理压缩请求时似乎有问题!)。但是,我的“请求”是几MB的XML,如果不压缩它,将大大降低应用程序的速度。我正在考虑删除所有自定义请求gzip,而改为通过HTTPS发送(无论如何都应该压缩所有内容)。我不知道我的应用程序代码是否有错,但如果没有错,那么看起来两个不同的代理服务器实际上在将内容编码头设置为“gzip”的同时解压缩了请求正文:(HTTPS不会“压缩所有内容”,但它通常会阻止代理服务器看到流量。