在开发和测试过程中,经常需要把APP或网站的响应报文包(Response)存入文件,做响应结果的进一步分析,尤其是application/json形式的响应报文。
在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-datafiddler-dataapp.json