Map Route / 请求转发
**转发规则**(Map Route)把指定域名的请求转到另一台机器或端口——类似 Charles 的 Map Remote。手机与页面仍访问原域名,DevPeek 在幕后改连目标;抓包、Mock 与页面调试都会生效。
什么时候用
常见场景:
- **转发规则**:把线上 API 指到本机或测试机(客户端 URL 不变)。
- **参数转换**:把加密参数解成明文便于查看与 Mock。
- **Mock**:临时改请求或响应内容。
三者可组合使用——**不必改手机 hosts 或页面里的接口地址**。
它做什么、不做什么
每条规则形如「匹配的域名 → 目标地址」。命中后 DevPeek 只改变**实际连接的服务器**,不改变:
- 浏览器 / App 地址栏或页面里写的 URL、Host 请求头(仍是对原始域名的请求)。
- 抓包列表与详情里展示的**原始** URL、方法、Query(便于对照线上契约)。
- 请求体 / 响应体内容本身(除非后续 Mock 或参数转换另行处理)。
什么时候生效
终端须把流量指向 DevPeek 代理。保存规则后,**新发起的请求**会按域名匹配;更具体的规则应写在列表上方(首条命中生效)。
常见用法是把线上 HTTPS 域名指到本机 HTTP 服务,例如 `api.example.com` → `http://localhost:3300`。客户端仍发 HTTPS,DevPeek 须先解密该域名(终端已信任根 CA,且域名在 SSL 解密白名单内),再以明文 HTTP 连本地端口;本地 dev 进程一般只监听 HTTP,转发目标请写带 `http://` 的地址。
规则语法
配置为纯文本,一行一条规则:
- 格式:`匹配的 Host 或域名 pattern` + **制表符或空格** + `目标 host[:port]` 或 `http(s)://host[:port]`。
- 以 `#` 开头的整行是注释;侧栏列表里关闭某条规则会在行首加 `#`,保存后立即停用。
- pattern 支持与 SSL 白名单类似的通配(如 `*.example.com`、关键词);**自上而下首条命中生效**。
- 目标端口省略时:客户端走 HTTPS 默认连 443,走 HTTP 默认连 80;本地 dev 端口(如 `3300`)请写 `host:port` 或完整 URL。指到只提供 HTTP 的本地服务时,请写 `http://localhost:3300`,不要省略协议。
示例
# 转发规则
# 每行:匹配 pattern → 目标 host[:port];# 开头为注释
#
api.example.com 127.0.0.1:8080
*.staging.example.com localhost:3000
h5.example.com http://localhost:3300如何配置与管理
入口一:标题栏 规则 → **转发规则**,打开独立配置窗口(可并排主窗口编辑)。
- 入口二:抓包页左侧竖条 **转发** 面板——列表开关、添加 / 编辑单条(与纯文本同步)。
- 入口三:列表或详情右键 **转发到…**,预填当前请求的 Host 并高亮对应行。
- 详情 **概览** 中若出现 **转发 URL**,表示该会话命中规则;点击可打开配置窗口并定位到相关行。
- 规则可随应用配置一并导出 / 导入;修改保存后立即对新连接生效。
侧栏与纯文本窗口编辑的是同一份配置;任选一种方式即可。
「规则 → 转发规则」纯文本窗口:每行一条域名映射,可与抓包列表并排使用。

在抓包中的体现
列表行仍显示客户端请求的原始 Host 与 URL,便于按线上契约筛选、搜索。命中转发后,详情 **概览** 会额外展示 **转发 URL**(实际上游完整地址,含 path),便于确认「这条请求实际打到了哪里」。
Mock 仍按你在抓包里看到的 URL 匹配。若 Mock 或调试 API 需要打到转发后的服务,请确认转发目标正确。
列表筛选、响应体搜索、重发调试等抓包能力对转发后的会话**完全可用**;详见抓包界面与请求。
在页面调试中的效力
页面调试与抓包共用同一套规则。典型联调:
- 手机 H5 仍访问 `https://api.example.com`,Map Route 把该 Host 指到本机 `http://127.0.0.1:8080`,页面脚本无需改域名。
- 调试 Tab 镜像的是经代理加载后的页面;网络面板与抓包列表看到的是同一套转发后的真实往返。
- 与 Mock 组合:先 Map Route 到本地 stub,再对特定路径 Mock 错误响应——无需部署到公网。
调试前仍须完成代理接入、证书信任与 SSL 白名单;详见移动端网页调试。
与其他功能组合
典型联调顺序:先配转发(指到本地)→ 需要时配参数转换(看明文)→ 需要时开 Mock(改响应)。若转发目标不对,抓包概览里的 **转发 URL** 可帮助排查。
HTTPS、SSL 解密与本地 HTTP
客户端发 HTTPS 时,DevPeek 先解密(须在 SSL 白名单内),再按转发规则连接目标。指到本机 HTTP 服务时,请写带 http:// 的地址。
若转发后仍无响应:检查本地服务是否监听对应端口、防火墙、以及 DevPeek 根 CA 是否在**手机**上已信任(不仅是电脑)。
限制与注意
- 只影响保存规则**之后**的新请求;已打开的页面可能需要刷新或重启 App 后生效。
- 首条命中即停止,不会合并多条规则;顺序很重要,更具体的 pattern 应写在上方。
- Map Route 不做路径级路由(不区分不同 API 路径),只按域名(及加密隧道目标)匹配;路径仍原样带给上游。
排查建议
- 规则不生效:是否已保存?pattern 是否与 Host 头一致(注意子域名)?规则是否被 `#` 注释?
- 仍访问真实线上:检查是否有更靠前的规则误命中;清空连接后重试。
- HTTPS 页面连本地 HTTP 失败:目标是否写成 `http://`;SSL 白名单与证书是否就绪。
- 概览无「转发 URL」:该 Host 未命中任何启用规则,或目标与原始 host:port 相同(视为未转发)。
Map Route 会把生产域名流量引到本机或测试机——仅在授权环境使用,勿把他人域名长期指到未隔离的服务。