fiddler根据不同的字段或状态进行标红展示

发布时间:2026/7/5 3:15:37

fiddler根据不同的字段或状态进行标红展示 一、fiddler在使用过程中会抓到很多的接口而我们大多时候只需要看其中的某几个一个一个看会比较麻烦。在fiddlerscript中将需要看的接口标注为特殊颜色方便快速选择接口如果接口信息在左侧会话中的地址显示出来那么直接在static function OnBeforeRequest(oSession: Session)里面添加就成static function OnBeforeRequest(oSession: Session) { if (oSession.uriContains(web.advertisement.getDetails)) { oSession[ ui-color ] red; } //复制粘贴可以增加其他的接口 }但是有时候会话列表中只有“/routerest”后面没有对应的接口信息就需要获取请求头的字段值并使用for循环遍历数组的方法假设接口是通过请求头中的method来判断的static function OnBeforeRequest(oSession: Session) { // 1. 先判断 Header 是否存在避免报错 if (oSession.oRequest.headers.Exists(method)) { var currentMethod oSession.oRequest.headers[ method ]; // 2. 定义需要标红的接口名称合集 var targetMethods [ web.advertisement.getDetails, user.login.check, order.create.submit, payment.callback.notify // 以后加新的直接在这里加一行不用改下面的逻辑 ]; // 3. 遍历数组进行匹配 for (var i 0; i targetMethods.Length; i) { if (currentMethod targetMethods[i ]) { // 匹配成功标红并添加备注 oSession[ ui-color ] red; // 匹配到一个后就可以退出了不需要继续比对剩下的 break; } } } }二、fiddler返回的众多接口中我们想快速的判断接口是否响应正确如code是否0那么在static function OnBeforeResponse(oSession: Session)中可以添加一下代码static function OnBeforeResponse(oSession: Session) { // 1. 基础检查确保是 JSON 响应且有内容 if (oSession.oResponse.headers.Exists(Content-Type) oSession.oResponse.headers[ Content-Type ].Contains(application/json) oSession.responseBodyBytes.Length 0) { // 2. 转换为字符串 var sBody System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes); // 3. 【核心逻辑】使用正则提取字段 A 的数值 // 正则解释 // A\\s*:\\s* - 匹配 A : (允许中间有空格) // (-?\\d) - 捕获组匹配一个整数包括负数如 -5 // 如果 A 的值可能是小数将 \\d 改为 \\d(\\.\\d)? var pattern code\\s*:\\s*(-?\\d); var match System.Text.RegularExpressions.Regex.Match(sBody, pattern); // 4. 判断是否匹配成功且值不等于 0 if (match.Success) { // 获取捕获到的数字字符串转为整数 var valStr match.Groups[ 1 ].Value; var valNum int.Parse(valStr); // 【判断条件】如果不等于 0则标红 if (valNum ! 0) { oSession[ ui-backcolor ] red; } } } }要实现code不等于0标红我们要排除0、10、100等情况还可能存在code:0不包含空格和code: 0包含空格的情况所以简单的字符串包含Contains在这里不适用用使用正则表达式提取数值进行对比代码逻辑解析1、正则 code\\s*:\\s*(-?\\d)①它能精准找到 A: 123 或 A: 0 或 A: -5。②(-?\\d) 这部分会把具体的数字如 123,0,-5单独提取出来存到 Groups[1] 中。2、int.Parse(valStr)①把提取出来的字符串 123 变成真正的数字 123。3、if (valNum ! 0)①这是真正的逻辑判断。②如果是 0 - 不标红。③如果是 1,100,-5 - 标红。

相关新闻