-
Fiddler抓包修改返回数据
-
抓包,找到要拦截的请求接口,将该请求拖到AutoResponder里
- 在Rule Editor中的第二栏的下拉选择框内选择“Create New Response...
- 在AutoResponder里相应待拦截请求上点击右键,选择“Edit Response”,弹出下面窗口,点击Raw,然后将其中想要修改的部分进行修改,然后点击“Save”进行保存;
- 最后在AutoResponder里选择Enable rules 和Unmatched requests passthrough,再将待拦截请求勾选,之后就可以对请求进行自动拦截并修改返回体了
注意:
如果还想再方便一点,可以在AutoResponder里相应待拦截请求上点击右键,“Generate File”将response body保存到本地txt文件,然后打开txt文件修改保存即可生效。
但是注意,如果通过文件的方式保存response内容,可能会出现编码问题导致的客户端处理出错。
最建议的方式,不会出错的方式,还是通过“Create New Response...”的方法
Fiddler模拟弱网测试
- 打开fiddler后,单击工具栏上方的Rules(规则),选择Customize Rules(自定义规则)
- 此时会弹出一个文本框,使用快捷键Ctrl+F搜索300,找到截图的位置,进行下列操作即可
- 其中if语句里面第一行代码(除注释)是设置发送请求的速度,如上图oSession["request-trickle-delay"] = "300"; 表示每300ms发送1kb的网络数据;类似的oSession["response-trickle-delay"] = "150";表示每150ms接收1kb的网络数据。此时我们只需要将第二行的值改大一些,如1500、3000。
- 修改完以后,保存并关闭文本框,返回fiddler窗口,点击Rules(规则),选择Performance(性能)-Simulate Moderm Speeds(模拟调制解调器速度)
- 再次用浏览器打开网页或者打开app,会发现加载时明显速度会慢很多,说明配置弱网络环境成功。
特别注意:实际情况中,网速是不稳定的,如果需要模拟这种情况,只需要修改代码如下:
static function randInt(min, max) {
return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = ""+randInt(1,2000);
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = ""+randInt(1,2000);
}
修改完以后,保存并关闭文本框,返回fiddler窗口,点击Rules(规则),选择Performance(性能)-Simulate Moderm Speeds(模拟调制解调器速度);这样就可以模拟不稳定网络环境进行测试了。
选择第一个请求和最后一个请求,可以看到整个页面加载所消耗的时间。通过fiddler的记录能知道每个请求不同部分的请求时间。overall elapsed是整个session的时间。可以看出哪些请求耗时最对,从而对页面的访问进行访问速度优化。