2

我知道有,Response body is encoded. Click to decode但它不起作用。

我得到的响应是由zlibnot编码的,gzip并且响应标头中没有Content-Encoding: gzip

现在我可以将响应正文保存到一个文件中,然后将其解码Python,但我真的很想看到fiddler.

我该怎么办?

4

3 回答 3

3

我没有足够的代表。发表评论,但我改进了 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);
}
于 2017-03-03T21:59:53.473 回答
1

您可以在 Fiddler 中添加或编辑标题。转到 Headers 检查器,然后从 Edit 菜单中选择 Unlock for Editing 选项。然后右键单击标题并在上下文菜单中选择添加或编辑标题。

因此,您可以添加/修改 Content-Encoding。

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

于 2016-06-16T18:21:08.230 回答
1

将此添加到提琴手脚本

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选择会出现在右键菜单中。

于 2016-06-22T08:03:07.617 回答