当前位置: 首页 > news >正文

Fiddler中文版脚本编辑器完全指南:自定义规则和过滤器

Fiddler中文版脚本编辑器完全指南:自定义规则和过滤器

【免费下载链接】zh-fiddlerFiddler Web Debugger 中文版项目地址: https://gitcode.com/gh_mirrors/zh/zh-fiddler

Fiddler Web Debugger 中文版是一款强大的Web调试工具,其内置的脚本编辑器允许用户通过自定义规则和过滤器来扩展功能,满足个性化调试需求。本文将详细介绍如何使用Fiddler中文版的脚本编辑器,从基础操作到高级规则编写,帮助新手用户快速掌握自定义调试技巧。

认识Fiddler脚本编辑器

Fiddler脚本编辑器是修改和扩展Fiddler功能的核心工具,通过编写C#或JavaScript脚本,可以实现请求/响应拦截、数据修改、自动化测试等高级功能。脚本文件位于项目的Scripts目录下,主要包含以下两个示例文件:

  • SampleRules.cs:C#版本的规则示例,支持Windows和Mono平台
  • SampleRules.js:JavaScript版本的规则示例,主要用于Windows平台

打开脚本编辑器的两种方式

  1. 启动Fiddler后,点击菜单栏工具 > Fiddler Script
  2. 直接运行项目根目录下的Fiddler ScriptEditor 编辑器绿化工具.exe

脚本基础结构解析

Fiddler脚本采用事件驱动模型,核心是Handlers类中的几个关键函数,通过重写这些函数可以实现对HTTP请求/响应的控制:

核心事件函数

  • OnBeforeRequest:请求发送到服务器前触发,可用于修改请求头、URL重写等
  • OnBeforeResponse:服务器响应返回客户端前触发,可用于修改响应内容、过滤响应等
  • OnExecAction:处理QuickExec命令行指令,实现自定义快捷操作

示例:隐藏304响应

SampleRules.js中,以下代码实现了隐藏304 Not Modified响应的功能:

public static RulesOption("隐藏 304s") BindPref("fiddlerscript.rules.Hide304s") var m_Hide304s: boolean = false; static function OnBeforeResponse(oSession: Session) { if (m_Hide304s && oSession.responseCode == 304) { oSession["ui-hide"] = "true"; } }

实用自定义规则示例

1. 模拟网络延迟(调制解调器速度)

通过设置请求/响应延迟,可以模拟低速网络环境,测试应用性能:

if (m_SimulateModem) { // 上传延迟:每KB延迟300ms oSession["request-trickle-delay"] = "300"; // 下载延迟:每KB延迟150ms oSession["response-trickle-delay"] = "150"; }

在Fiddler界面中,通过规则 > 性能 > 模拟调制解调器速度菜单启用此功能。

2. 修改User-Agent伪装浏览器

脚本编辑器预置了25种常见User-Agent,可通过规则菜单快速切换:

RulesString("&用户代理", true) RulesStringValue(0,"Netscape &3", "Mozilla/3.0 (Win95; I)") RulesStringValue(1,"WinPhone8.1", "Mozilla/5.0 (Mobile; Windows Phone 8.1; ...") // 更多浏览器类型... public static var sUA: String = null;

使用时只需在规则 > 用户代理子菜单中选择目标浏览器即可。

3. 自动响应认证请求

配置自动认证可避免重复输入用户名密码:

if (m_AutoAuth) { // 使用当前用户凭据自动响应认证请求 oSession["X-AutoAuth"] = "(default)"; }

通过规则 > 自动验证菜单启用该功能。

高级过滤器编写技巧

URL替换与重定向

通过urlreplace命令可以临时修改请求URL,常用于测试环境切换:

case "urlreplace": if (sParams.Length<3) {gs_ReplaceToken=null; return false;} gs_ReplaceToken = sParams[1]; gs_ReplaceTokenWith = sParams[2].Replace(" ", "%20"); FiddlerObject.StatusText="替换 [" + gs_ReplaceToken + "] 为 [" + gs_ReplaceTokenWith + "]"; return true;

使用方法:在QuickExec框中输入urlreplace 旧字符串 新字符串

请求断点设置

通过脚本可以针对特定URL或状态码设置断点,方便调试:

if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) { oSession["x-breakrequest"]="uri"; }

常用断点命令:

  • bpu 包含字符串:对包含指定字符串的请求设置断点
  • bps 状态码:对指定响应状态码设置断点
  • bpm POST:对POST方法设置断点

脚本调试与管理

脚本重置与重载

当脚本编辑出现错误时,可以通过以下方式恢复:

  1. 点击工具 > 重置脚本
  2. 直接删除Documents\Fiddler2\Scripts\CustomRules.js文件,重启Fiddler会自动生成默认脚本

常用工具辅助

项目提供了多个辅助工具,位于Tools目录下:

  • Brotli.exe:Brotli压缩工具
  • PngDistill.exe:PNG图片优化工具
  • Zopfli.exe:Zopfli压缩工具

这些工具可在脚本中通过System.Diagnostics.Process.Start()调用,实现自动化资源处理。

总结与扩展

Fiddler脚本编辑器是提升Web调试效率的强大工具,通过本文介绍的基础规则和示例,您可以实现请求过滤、响应修改、网络模拟等实用功能。对于高级用户,还可以探索更多高级用法:

  • 编写自定义UI选项卡(通过BindUITab属性)
  • 创建自定义上下文菜单(通过ContextAction属性)
  • 实现复杂的请求路由和负载测试

建议从修改示例规则开始,逐步掌握脚本编写技巧,最终打造适合自己工作流程的调试环境。

【免费下载链接】zh-fiddlerFiddler Web Debugger 中文版项目地址: https://gitcode.com/gh_mirrors/zh/zh-fiddler

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1202252/

相关文章:

  • 计算机毕业设计之jsp许昌市地域美食推荐平台
  • LINE Bot SDK PHP账号链接功能:实现跨平台用户身份验证
  • 5分钟上手浏览器端人体姿态搜索:免费开源的动作识别终极指南
  • 30+在职备考法考时间紧、刷题低效?三款实用APP搭配弯道超车 - 资讯速览
  • 高信效度戈尔曼情商量表测试 TOP5,自测共情力情绪自控优选清单 - 独家d资讯
  • FreeCAD装配约束系统:从机械设计到动态仿真的完整解决方案
  • 解密ESP-Drone:基于ESP32的开源无人机飞控技术深度实战
  • 泰格豪雅中国官方售后服务中心|服务热线及门店官方地址权威信息公示(2026年7月更新) - 亨得利官方服务中心
  • 小程序开发平台有哪些?从自助搭建、商城系统到工具生态做选择
  • 3步掌握PreSumm:基于BERT的文本摘要生成框架实战指南 [特殊字符]
  • 深圳商标设计内卷真相:当“极简”成为标配,你的品牌靠什么突围?
  • 安顿健康手表定价高昂值不值得入手:从预警系统和长期投入看 - 信息热点
  • WhiteWinterWolf‘s PHP web shell vs 其他webshell:为什么它是渗透测试的首选工具
  • 5分钟上手prettyplease:Rust语法树美化打印工具快速入门
  • 如何使用MediaInfoLib快速解析视频文件信息?初学者入门教程
  • 技术决策分析框架:如何理性解读行业领袖的公开询问
  • 【RT-DETR涨点改进】49 从“单点”到“分布式”的最后一公里——Redis内存管理与淘汰策略的工程实战
  • 上海劳力士回收价格查询和靠谱回收平台实测排行(2026年7月最新数据) - 尊奢回收二奢平台
  • 3步掌握YimMenu:GTA5菜单工具的完整安全防护指南
  • 济南包包回收【天桥帝唐大厦地域拆解】深度测评|闲置大牌包包当场对公转账变现攻略 - 讯息早知道
  • 如何用Czkawka高效清理电脑中的重复文件和冗余数据
  • 终极指南:用OCLP-Mod为老旧Mac安装最新macOS的完整方案
  • Tiny Guide to Non Fancy Node实战:从零构建一个完整应用
  • LADB:终极无线ADB调试解决方案 - 彻底摆脱USB线缆束缚的Android开发者指南
  • 2026 石家庄婚恋机构权威评测榜单(官方调研数据:石家庄市婚姻服务行业协会 + 市消协联合出具) - 星际AI
  • 终极指南:5步掌握Buzz离线语音转录,免费保护隐私同时提升10倍效率
  • 如何用ijc构建你的第一个JavaScript捆绑包:3分钟快速上手教程
  • 11 C 语言数据进制详解:常见进制、前缀表示、格式化输出、混合运算、整数转换、小数转换、转换工具
  • 原神抽卡数据分析实战:一键导出你的祈愿历史记录
  • 房屋经营管理委托书公证多少钱?线上办理操作流程及2026年收费明细 - 跑政通