走向:
client
<=>fiddler
<=>server
方法一:OnBeforeRequest(oSession: Session)
注释:发送请求未到达server
被拦截在fiddler
方法二:OnBeforeResponse(oSession: Session)
注释:返回结果未到达client
被拦截在fiddler
方法三:OnExecAction(sParams: String[])
注释:fiddler的命令
(左下角的命令行)
会话
- 获取会话整体链接
oSession.fullUrl
- 获取会话域名
oSession.host
- 修改会话颜色
oSession['ui-color'] = "颜色值"
- 删除headers中某字段
oSession.oRequest.headers.Remove(字段名)
- 修改headers中某字段值
oSession.oRequest[字段名] = 字段值
- 新增headers字段
oSession.oRequest.headers.Add(字段名, 字段值)
- 获取会话发起时的内容并替换字段名后重新写入请求中(例如表单数据)
var res = oSession.GetRequestBodyAsString()
res.replace(原来字段名, 新字段名)
oSession.utilSetRequestBody(res)
调试打印数据结果
FiddlerObject.alert(信息值)
弹窗提示FiddlerObject.log(信息值)
log列表中显示
菜单Rules中新增一项
RulesString("菜单名", true)` // 生成菜单名下的radio子选项 RulesStringValue(0, 子选项名称1, 子选项值1) RulesStringValue(1, 子选项名称2, 子选项值2) ... public static var 菜单变量: String = null; // 在OnBeforeRequest函数中加入触发事件 if (null != 菜单变量) { oSession.oRequest[请求选项] = 菜单变量 }
菜单Tools中新增一项
public static ToolsAction("&childTools") // childTools是tools下的子菜单名称 BindUIButton("childTools") // 快捷按钮 function DoUNTITLED(oSessions: Fiddler.Session[]){ // 针对该按钮做处理逻辑 }
右键菜单中添加选项按钮
public static ContextAction("context menu") function DoOpenInIE(oSessions: Fiddler.Session[]){ FiddlerObject.alert("context menu"); // 根据需要定制 }
限速测试
- 开启限速测试功能:
Rules
=>Performances
=>Simulate Modem Speeds
- 调整上传和下载速度的代码位置
if (m_SimulateModem) { // Delay sends by 300ms per KB uploaded.(上传) oSession["request-trickle-delay"] = "300"; // 数值设置:1000ms /300 <=> 调整后的上传速度 3.33 // Delay receives by 150ms per KB downloaded.() oSession["response-trickle-delay"] = "150"; // 数值设置:1000ms / 150 <=> 调整后的下载速度 6.66 }
AutoResponder
线上内容替换为本地内容测试
结果: