如何在 fiddler 中使用 zlib 解码响应
How to decode response with zlib in fiddler
我知道有 Response body is encoded. Click to decode
但它不起作用。
我得到的响应是由 zlib
而非 gzip
编码的,并且响应 header 中没有 Content-Encoding: gzip
。
现在我可以将响应 body 保存到文件中,然后通过 Python
对其进行解码,但我真的很想看到 fiddler
.[=16 中的漂亮内容=]
我该怎么办?
您可以在 Fiddler 中添加或编辑 headers。转到 Headers 检查器,然后 select 编辑菜单中的解锁以进行编辑选项。然后 headers 上的 right-click 并在上下文菜单中选择添加或编辑 Header。
因此你可以add/modifyContent-Encoding.
您也可以在 FiddlerScript 中执行此操作。
将此添加到 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
选择会出现在右键菜单中
我没有足够的代表。发表评论,但我改进了 PaleNeutron 的片段。
- 修复请求解码
- 添加了检查 zlib header 的逻辑,这样我们就不会双重解码并创建一个空 request/response
在 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);
}
我知道有 Response body is encoded. Click to decode
但它不起作用。
我得到的响应是由 zlib
而非 gzip
编码的,并且响应 header 中没有 Content-Encoding: gzip
。
现在我可以将响应 body 保存到文件中,然后通过 Python
对其进行解码,但我真的很想看到 fiddler
.[=16 中的漂亮内容=]
我该怎么办?
您可以在 Fiddler 中添加或编辑 headers。转到 Headers 检查器,然后 select 编辑菜单中的解锁以进行编辑选项。然后 headers 上的 right-click 并在上下文菜单中选择添加或编辑 Header。
因此你可以add/modifyContent-Encoding.
您也可以在 FiddlerScript 中执行此操作。
将此添加到 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
选择会出现在右键菜单中
我没有足够的代表。发表评论,但我改进了 PaleNeutron 的片段。
- 修复请求解码
- 添加了检查 zlib header 的逻辑,这样我们就不会双重解码并创建一个空 request/response
在 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);
}