如何在fiddler中使用zlib解码响应

时间:2016-06-15 08:32:15

标签: fiddler content-encoding

我知道有Response body is encoded. Click to decode,但它无法正常工作。

我得到的回复由zlib而非gzip编码,回复标题中没有Content-Encoding: gzip

现在我可以将响应正文保存到文件中,然后按Python对其进行解码,但我真的希望在fiddler中看到漂亮的内容。

我该怎么办?

3 个答案:

答案 0 :(得分:1)

您可以在Fiddler中添加或编辑标题。转到“标题”检查器,然后从“编辑”菜单中选择“编辑解锁”选项。然后右键单击标题,并在上​​下文菜单中选择“添加”或“编辑标题”。

因此,您可以添加/修改内容编码。

您也可以在FiddlerScript中执行此操作。

答案 1 :(得分:1)

将此添加到fiddler脚本

public static ContextAction("force decode with deflate")
function AddEncoding(oSessions: Fiddler.Session[]){
    for (var x:int = 0; x < oSessions.Length; x++){
        oSessions[x].utilDecodeRequest();
        oSessions[x].oResponse.headers["Content-Encoding"]="deflate"
        oSessions[x].utilDecodeResponse();
    }
    UI.actUpdateInspector(true,true);
}

force decode with deflate选项将出现在右键菜单中。

答案 2 :(得分:1)

我没有足够的代表。评论,但我改进了PaleNeutron的片段。

  • 修复请求解码
  • 添加逻辑以检查zlib标头,以便我们不进行双重解码并创建空请求/响应

在FiddlerScript标签中:

public static ContextAction("Force Decode (zlib)")
function AddEncoding(oSessions: Fiddler.Session[]){
    for (var x:int = 0; x < oSessions.Length; x++){
        if (oSessions[x].oRequest.headers["Content-Encoding"]=="zlib"){
            oSessions[x].oRequest.headers["Content-Encoding"]="deflate";
            oSessions[x].utilDecodeRequest();
        }
        if (oSessions[x].oResponse.headers["Content-Encoding"]=="zlib"){
            oSessions[x].oResponse.headers["Content-Encoding"]="deflate";
            oSessions[x].utilDecodeResponse();
        }
    }
    UI.actUpdateInspector(true,true);
}