Fiddler自动响应AutoResponder正则匹配

博客围绕工作中遇到的问题展开,期望拦截URL内包含特定字符串的请求,采用REGEX方法匹配,以拦截包含opt - media的所有请求为例,介绍了将URL拖拽到AutoResponder的ted内,勾选相关选项,修改EXACT等设置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创:http://www.cnblogs.com/pachongshangdexuebi/p/6601363.html

以下内容为工作中遇到的问题:
期望:只拦截在URL内包含某个字符串的请求。
在这里插入图片描述但是通过上面的办法一直没有操作成功。
以下使用REGEX方法匹配:
期望拦截到包含opt-media的所有请求 (id是变化的)。
在这里插入图片描述将URL拖拽到AutoResponder的ted内,勾选Enable rules 和 Unmatch…

在这里插入图片描述
点击需要修改的URL后就可以编辑,
在这里插入图片描述

将EXACT: 改变为: REGEX:.*/opt-media/*

剩余的参考上面的链接设置即可。

### Fiddler 中通过正则表达式修改或替换 JS 文件内容 在 Fiddler 中实现基于正则表达式的 JavaScript 文件内容替换功能,主要依赖于自定义脚本和 AutoResponder 模块。具体方法如下: #### 使用 AutoResponder 进行静态文件替换 如果目标是在请求特定 URL 或符合某些条件的情况下返回预设好的本地文件,则可以通过设置 AutoResponder 来完成这一操作。 1. 打开 **AutoResponder** 选项卡; 2. 启用 **Unmatched requests passthrough** 和 **Enable rules**; 3. 添加新规则并输入相应的正则模式来匹配要拦截的资源路径[^1];例如 `regex:.+\.test.js$` 可用于匹配所有以 `.test.js` 结尾的文件; 4. 设置响应动作为 **Find a file...**, 并指定本地替代文件的位置,比如 `E:\code\blog\test.js`. 这种方法适用于不需要动态改变实际加载的内容场景下使用固定版本代替远程服务器上的原始文件。 #### 利用 OnBeforeResponse 动态处理响应体 对于更复杂的场景——即希望依据一定逻辑实时调整传回客户端的数据而非简单替换成另一份完整的文档副本时,则需借助 FiddlerScript 实现更为精细的操作: ```csharp static function OnBeforeResponse(oSession: Session) { // 定义正则表达式以及替换后的字符串 var regexPattern = @"<script>([\s\S]*?)<\/script>"; var replacementText = "<!-- Modified by Fiddler -->"; if (oSession.utilIsHTTPS && oSession.HostnameIs("example.com") && oSession.PathAndQuery.EndsWith("/path/to/file.js")) { // 修改响应头表明编码方式以便正确解析body oSession.oResponse["Content-Type"] = "application/javascript;charset=UTF-8"; // 获取解码后的响应主体作为可编辑对象 var responseString = System.Text.Encoding.UTF8.GetString(oSession.GetResponseBodyBytes()); // 应用正则替换 var result = Regex.Replace(responseString, regexPattern, replacementText); // 将更改写入回去 oSession.utilSetResponseBody(result); } } ``` 上述代码片段展示了如何利用 C# 编写的 Fiddler 脚本来监听符合条件的 HTTP 请求,在其即将发送给浏览器之前对其进行篡改。这里采用了 `<script>` 标签包裹任意字符序列(包括多行)的形式作为查找模板,并将其全部转换成注释形式表示已被修改过[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值