在客户端调试中,经常需要和后台接口打交道,有时候我们想修改后台返回的数据来验证客户端某些功能是不是完好的,抑或有时候后台返回的数据并不是我们所想要的,我们就可以使用抓包工具 Fiddler 来肆意修改后台返回的数据了。
首先确定要修改哪个接口,比如我这里需要修改接口:XXX/psyapi/recommend/recForYou.do
未修改时该接口的返回结果如下图所示:
list里面有三个条数据,如果我要删除最后一条数据,操作步骤如下:
先将json数据复制到本地txt文本中,local_json.txt文件如下:
在 Fiddler 左侧面板左键单击选中要修改的接口XXX/psyapi/recommend/recForYou.do
,将右侧面板中切换到AutoResponder
选项视图,选中前面2个复选框,并将本地 json 文件的绝对路径键入到最下方的输入框中,最后点击Save
按钮即可。如图所示:
现在再请求该接口,你会发现后台返回结果就是跟本地文件内容一样的了。惊不惊喜~
补充:
上面通过文本替换的方法,的确可以很方便得修改后台接口返回数据,但是有时候如果仅仅是想修改接口返回数据中一两个数据,使用这种方法未免有点小题大做。这种情况下,有没有更好的方法呢,答案是肯定的,那就是fiddler的断点工具,如 请求前断点(before response, bpu)。在fiddler最下方的黑色输入框中输入 bpu xxx(要断点的url),按enter就行,当走到该接口的时候, 会发现该接口最前面有个红色的爬虫标识:
单击左边面板中的接口,在右边面板中出现如下:
点击黄色的Break on Response按钮,在 TextView中就可以看到接口返回的数据,这些数据是可以修改的,比如 可以将userUnreadMessageCount":7
修改为userUnreadMessageCount":6
等等,修改好后,点击绿色的 Run to Completion即可。
修改后的: