课程大纲
重定向(Redirect):将网络请求重新定向到其他位置。
按重定向方式分为:网页重定向、域名重定向、接口重定向……
按持续时间分为:永久重定向、临时重定向。
① 永久重定向,HTTP 301(Moved Permanently):该网页已永久移动到新的位置; ② 临时重定向,HTTP 302(Found):该网页暂时移动到新的位置。 |
Fiddler自动重定向功能,可以理解为设置关键词自动回复:客户端请求指定的url,Fiddler直接返回定义好的response。
1. 原理
2. 应用场景
1. 重定向到本地文件,测试前端页面文件
2. mock数据
3. 重定向操作流程
① 开启重定向功能:右侧菜单标签“AutoResponder”(自动转发) - 勾选4个多选框
② 添加规则(匹配规则、返回内容) - 保存
匹配规则:输入“tuxiaomao”
返回内容:选择Fiddler502模板
点击“保存”按钮
③ 勾选使用的规则:只有勾选的规则才启用、生效。
发送请求,重定向成功
重定向的请求,可以看到访问到到远程服务器是本机的Fiddler。
4. 功能详解
4.1 功能路径
右侧菜单标签“AutoResponder” “自动转发”(默认关闭)。
开启自动重定向:全选4个选项。
Enable rules:启用规则。
Accept all CONNECTs:允许所有连接。
Unmatched requests passthrough:不匹配的请求继续传递(给服务器)。
Enable Latency: 设置延时。
4.2 新增规则(2种方式二选一)
① 手填:点击“新增规则”按钮,激活规则输入区
② 拖拽:拖拽左侧列表请求到右侧,自动填入录制的请求url、返回内容,可以编辑
4.3 设置规则-匹配方式
-
匹配Url:字符匹配、method(请求方法)、Header(请求头)。
-
匹配请求方法
-
匹配请求头
……
1. 匹配Url
字符匹配 |
输入内容:url关键字(字符串) 规则详情:只要URL中包含输入的字符串即匹配,启用规则。 【举例】 输入“tuxiaomao”,只要url包含“tuxiaomao”就会会被自动重定向。 【注意】 对于https协议请求,使用域名关键字,不加“https://”会报错,是因为: 发送https请求前,Fiddler会发送connect请求,列表可以看到通道请求被重定向成功了,所以后续https请求无法发送出去。 解决方式:对于https协议请求,如果只写域名,关键字加“https://”。 |
完全匹配 |
输入内容:EXACT:[完整url] 规则详情:请求url完全一致才匹配。 1. 必须包含协议部分“http://”或“https://”,如有path也要加上; 2. 如果只写域名,末尾要加“/”(建议从浏览器复制) 【举例】 EXACT:https://www.baidu.com,重定向失败。 EXACT:https://www.baidu.com/,重定向成功。 |
正则匹配 |
输入内容:regex:[正则表达式] 规则详情:符合正则表达式即匹配,启用规则。 【举例】 regex:(?inx).+\.jpg(以“.jpg”结尾的url,重定向到本地图片) |
2. 匹配请求方法(method)
输入内容:method:[请求方法]
规则详情:请求使用指定的请求方法,进行重定向。
【举例】
method:get(所有get请求,重定向到本地图片)
3. 匹配请求头(header)
输入内容:Header:[请求头字段key=请求头字段value]
规则详情:请求头包含指定的请求头信息,进行重定向。
【举例】
Header:Accept=html(请求头指定接收格式,包含html,进行重定向。)
4.4 设置规则-选择response
可设置的返回内容或处理操作:Fiddler自带模板(响应文本)、本地文件、请求/响应断点、延迟……
4.5 设置规则-只匹配一次
匹配的url,仅访问第一次时自动回复,重定向后,规则自动取消勾选,后续请求正常发送至服务器。