[fiddler] 使用fiddler script自定义代理规则
场景
fiddler作为调试代理工具,可以捕获电脑与互联网之间所有http通讯。
通过可视化操作或命令行可以按某些规则截获特定请求并修改,但当我们需要批量对请求进行更复杂的逻辑操作时,则不是很方便。
此时就可以考虑使用fiddler script了~
fiddler script
简单讲,fiddler script提供了请求/响应过程中的事件接口,通过这些接口,我们可以编写代码,注册自定义逻辑。
如:OnBeforeRequest
、OnBeforeResponse
定义了请求发送前及响应前的事件接口,在此函数中添加的逻辑,可以在每个http请求前和响应前执行,十分灵活。
配置
1、打开fiddler,工具栏选择Rules->Customize Rules,此时fiddler会创建Customize Rules.js
2、打开Customize Rules.js,我们就可以在此编写自定义规则了
举个栗子
1、Customize Rules.js中找到函数OnBeforeRequest
,添加以下逻辑:当请求的资源为js时,高亮为橙色
2、保存后浏览器刷新,查看fiddler请求列表
以上只是一个简单的功能,此外还可以自定义修改请求头及请求内容,截获响应修改返回值等等等等
FiddlerScript Editor
fiddler script基于JScript.NET编写,如果不熟悉API可能会在使用时造成困惑,为此fiddler官方提供了配套的编辑器:FiddlerScript Editor
此编辑器提供了语法高亮、智能感知等功能,帮助开发者编写代码。
下载安装后,FiddlerScript Editor可以通过独立窗口打开,如图:
- 左侧面板可以添加自定义逻辑
- 右侧面板可查询API接口含义及使用方法
- 工具栏中包含快速定向、查询及一些常规操作
在fiddler内添加FiddlerScript Tab
有时需要一边在Editor中编写script,一边在fiddler中观察请求信息,两个窗口不断切换,着实麻烦;这时可以使用懒癌福利:Syntax-Highlighting Add-Ons
安装后重启fiddler,发现右侧面板多了一个FiddlerScript选项卡,点击进入,看到FiddlerScript Editor已经被内置进来了
上面提到的Syntax-Highlighting Add-Ons
是一个fiddler扩展插件,更多扩展请戳这里
结语
本篇简单介绍了下fiddler script配置及使用方法,之后会总结一些场景下使用fiddler script如何解决具体问题。
[fiddler] 使用fiddler script自定义代理规则的更多相关文章
- validatebox自定义验证规则以及使用
//===============jsp======state==== //开启验证 <script type="text/javascript"> y ...
- Scarpy 起始url 自定义代理 自定义去重规则
- start_urls - 内部原理 """ scrapy引擎来爬虫中去起始的URL: 1. 调用start_requests并获取返回值 2. v = iter(返回 ...
- iddler抓包过程以及fiddler抓包手机添加代理后连不上网解决办法
转载自:https://blog.csdn.net/m0_37554415/article/details/80434477,感谢博主的热心分享 1.(1)电脑端打开安装好的的fiddler,打开To ...
- 在ubuntu16.04中安装apache2+modsecurity以及自定义WAF规则详解
一.Modsecurity规则语法示例 SecRule是ModSecurity主要的指令,用于创建安全规则.其基本语法如下: SecRule VARIABLES OPERATOR [ACTIONS] ...
- 案例17-validate自定义校验规则校验验证码是否输入正确
1 自定义校验规则代码 <script type="text/javascript"> //使用validate插件进行表单的校验 $(function(){ $(&q ...
- 案例16-validate自定义校验规则校验用户名是否存在
1 知识点 2 register.jsp代码 注意自定义校验规则的时候,提交必须是同步的方式. <%@ page language="java" contentType=&q ...
- MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)
前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...
- struts2 自定义校验规则
自定义校验规则:(了解) 在Struts2自定义校验规则: 1.实现一个Validator 接口. 2.一般开发中继承ValidatorSupport 或者 FieldValidatorSupport ...
- yii2中自定义验证规则rules
作者:白狼 出处:www.manks.top/article/yii2_custom_rules 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追 ...
随机推荐
- sql 补齐字段位数
select top 100 lmdte, right(replicate('0',6)+ltrim(lmtme),6) from smtpdsum where lmdte <> 0
- 使用Expression实现数据的任意字段过滤(2)
上一篇<使用Expression实现数据的任意字段过滤(1)>, 我们实现了通过CriteriaCollectionHandler对象来处理集合数据过滤.通过适当的扩展, 应该可以满足一般 ...
- ListFragment的使用
ListFragment继承了Fragment,顾名思义,ListFragment是一种特殊的Fragment,它包含了一个ListView,在ListView里面显示数据. 1. MainActiv ...
- JAVA JSP笔记
一.jsp加载项目中资源图片 如果直接将静态页面写的代码copy到jsp中,你会发现图片都无法加载. 获取代码: String path = request.getContextPath(); Str ...
- 《连载 | 物联网框架ServerSuperIO教程》- 7.自控通讯模式开发及注意事项
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- 3.1 js基本概念
js中的语法大量借鉴于C以及其他类C语言(Java,Perl). js中一切(变量.函数名.操作符等等)都区分大小写.如"var a;"中的变量a跟"var A;&quo ...
- SecutrCRTt 连接VirtualBox 中的Ubuntu -端口转发
端口转发: 设置>网络>端口转发 端口转发: 子系统地址通过在Linux系统总使用ifconfig查看: 还需要在linux主机上安装sshd sudo apt-get insta ...
- Using Dagger2 in Android
Dagger2是一个Java和Android的依赖注入框架. 本文介绍Android中dagger2的基本使用. 其中包括@Inject, @Component, @Module和@Provides注 ...
- 15-static和extern关键字1-对函数的作用
一.extern与函数 如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之间可能会有关联,比如a.obj可能会调用c.ob ...
- mac终端命令
目录操作 命令名 功能描述 使用举例 mkdir 创建一个目录 mkdir dirname rmdir 删除一个目录 rmdir dirname mvdir 移动或重命名一个目录 mvdir dir1 ...