在Fiddler应用中,有两种方法可以来保存响应报文: 手动和自动。
如果手动存入文件,只要选中需要保存的会话请求,可复选多个会话。点击右键Save,选择Response。响应结果即可以保存响应头和响应体,也可以只保存响应体。调试中为了方便JSON等数据结构研究,我们选择只保存响应体。保存好的文件,就可以在任意可以格式化显示JSON软件中去进一步分析。 如下图所示:
如果自动化地保存响应结果到文件,可以帮助我们抓取和分析更多的APP JSON数据响应包(因为所以响应包可以保存在同一指定文件中),具体步骤如下:

第一步: 选择菜单项 Rules -- Customize Rules..., 进入Fiddler ScriptEditor中。
第二步: 在Fiddler ScriptEditor中,选择菜单Go -- to OnBeforeResponse。

第三步: 找到函数OnBeforeResponse,如图示,并在后面添加如下代码:
//过滤不需要保存文件的请求,只添加需要保存文件的请求,本例中是URL中含/rest/data/feeds的请求。实际中替换成你关心的部分。
if (oSession.fullUrl.Contains(\"/rest/data/feeds/\")) {
// 针对https的请求明文解码,否则在保存的文件中显示的报文是乱码,不可读。
oSession.utilDecodeResponse();
var fhandler;
var outfile;
fhandler = new ActiveXObject(\"Scripting.FileSystemObject\");
//文件保存的位置,可自定义,这里注意目录中是两个\\。实际中替换成你想保存的文件位置和文件名。文件目录需要提前创建。
outfile = fhandler.OpenTextFile(\"D:\\app-data\\fiddler-data\\app.json\",8 ,true, true);
// 如果需要保存报文的响应头等,可以把以下代码放开
//outfile.writeLine(\"Response code: \" + oSession.responseCode);
outfile.writeLine(\"Response body: \" + oSession.GetResponseBodyAsString());
outfile.writeLine(\"\n\");
outfile.close();
}
第四步:代码添加完毕后,如下图示,把修改过的script保存入文件。重新执行抓包后,就可以在设定的目录下看到