fildder 安装
http://blog.youkuaiyun.com/laofashi2015/article/details/78476499
fiddler工具简单了解
https://www.cnblogs.com/ink-marks/p/6363275.html
应用场景:
场景一、移动端抓包,设置和Charles相同、请求过滤
场景二、模拟弱网环境
场景三、使用fiddler重新发送请求(可用于接口测试或者接口调试)
场景四、拦截服务端返回结果,修改在客户端数据的展示(在不修改服务端数据时,用于模拟服务端返回数据异常时的测试)
方法一、
1、菜单栏 rules->AutoMatic BreakPoint->After Responses
2、在客户单请求需要修改响应数据的接口,
3、在fiddler的右侧响应视图,切换到Textview 视图模式下,修改数据
4、修改完成后,点击右侧 绿色按钮 Run to Completion ,查看可客户端显示
存在问题,在抓包中,有部分的响应结果无法使用TextView模式中查看,导致无法修改(待解决)
方法二、在fiddlerScript中修改脚本,打开脚本添加如下代码,修改响应结果
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.fullUrl.Contains()){
var responseStr = oSession.GetResponseBodyAsString();
var jsonStr = Fiddler.WebFormats.JSON.JsonDecode(responseStr);
jsonStr.JSONObject[]="";
var alterJsonStr = Fiddler.WebFormats.JSON.JsonEncode(jsonStr.JSONObject);
oSession.utilSetResponseBody(alterJsonStr);
}
}
方法三、反向代理的方式
场景五、查看服务端的请求到返回结果的时间是多少,在fiddler是有监控的,但是统计到的数据并不直观
在CustomRules.js的class Handlers中增加
//添加请求的响应时间
public static BindUIColumn("Time Taken")
function CalcTimingCol(oS: Session){
var sResult = String.Empty;
if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
{
sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
}
return sResult;}
增加监控请求的IP详情
在CustomRules.js的static function Main() 中增加一行:FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP");
static function Main() {
var today: Date = new Date();
FiddlerObject.StatusText = " CustomRules.js was loaded at: " + today;
// Uncomment to add a "Server" column containing the response "Server" header, if present
//增加请求IP监控
FiddlerObject.UI.lvSessions.AddBoundColumn("Server IP", 120, "X-HostIP");
}