Charles Proxy 自 2000 年代中期起就在开发者机器上占有一席之地:根据 Charles 定价页,一次性 $50 就能买到 Windows、macOS、Linux(外加 iOS 应用)的调试代理。它记录离开机器的每个请求,通过 SSL 代理解密 HTTPS,限制连接速度,并用 Rewrite、Map Local 伪造或重写响应。寻找替代品前,先问自己实际用它做哪类工作,因为它们分为两类,需要不同替代方案。
直接回答。捕获不受控制的流量(第三方应用、SDK、带证书固定的移动客户端)时,替代品是其他捕获代理:mitmproxy、Proxyman、HTTP Toolkit 或 Fiddler,见下文。但如果你像大多数 API 开发者那样,把 Charles 当作 API 工作的变通工具(偷看自己 API 的响应、用 Map Local 伪造响应让前端开发、重放请求直到 bug 出现),更好的替代品不是另一个代理,而是 Apifox——把同样工作变成有文档端点、智能 mock 和可重复测试的 API 平台,免费版不限成员。
Charles 是什么,成本多少
Charles 是中间人(MITM)调试代理。把设备或应用流量路由通过它,安装根证书,它显示线路上的所有内容。工具集是日常价值所在:
- SSL 代理解密 HTTPS,读取请求和响应体。
- 限速模拟慢网或有丢包的网络。
- 断点在传输中暂停请求或响应,手动编辑。
- Rewrite 自动修改请求头、正文或 URL。
- Map Local 用磁盘文件替代真实响应;Map Remote 把请求重定向到另一台服务器。
- Repeat 重发捕获请求,高级模式支持迭代和并发。
许可为每用户一次性 $50(5 席和 10 席有折扣,站点许可 $400),30 天试用。没有订阅,所以人们一用十年。问题不是这些,而是代理做不到什么,以及多少 Charles 时间花在弥补缺口上。
决定替代方案的问题
观察一周实际用法,会出现两种模式。
捕获工作:你观察但不拥有的流量。逆向未文档化 API、审计 SDK 回传、调试无法重建的应用。这永远是代理领域,没有 API 客户端能替代。
伪装的 API 工作:两端都由你拥有的流量。捕获自己后端响应看 payload(因为没有文档)、Map Local 提供 JSON 让移动团队开发(因为没有 mock)、断点编辑响应测试错误路径(因为没有注入测试)。每个括号都是缺失的 API 工具,代理是胶带。整个团队整天运行 Charles 却从不检查第三方流量;Postman 代理功能也是同样动力,见 Postman 代理和安装使用 Postman Interceptor。
如果 Charles 时间主要属于第二种,换另一个代理只是买更漂亮的胶带。
API 工作的答案:Apifox
Apifox 是 API 开发平台,已服务数万家研发团队:设计、调试、测试、mock 和文档在一个应用中,由一份规范驱动。先明确范围:Apifox 不是流量嗅探器,不捕获其他应用的数据包;如果那是你的工作,请用下面的捕获工具(或看抓包工具盘点)。Apifox 让 Charles 用法中的 API 工作变得不必要:

- “捕获自己响应看 payload”变成有文档端点。 在客户端发送请求,连同 schema 保存,payload 结构作为交互式文档对团队可见,而不是困在会话窗口。
- Map Local 变成智能 mock。 端点一定义,就从 URL 提供基于 schema 的 mock,不必手动编辑磁盘 JSON 并让设备通过笔记本路由。团队任何人可访问,没人安装根证书。
- 断点编辑变成测试场景。 手动编辑响应只能生效一次;断言错误路径的场景会在每次提交时通过 Apifox CLI 运行。
- Repeat 变成运行器。 带变化重发请求,正是集合、环境和数据驱动用例的用途。
以上全部,包括无限 mock 和测试运行,都在免费版中(不限成员);付费从 ¥19/席位/月起。
从 Map Local 迁移到智能 mock
这是最能改变日常工作的一步。假设 Charles 把 /api/v2/orders 映射到 orders-fake.json,让 iOS 团队在后端上线前构建订单页。
- 在 Apifox 定义端点。 创建
GET /api/v2/orders,粘贴orders-fake.json作为响应示例,或更好,定义响应 schema(可一键从 JSON 生成)。 - Mock URL 立即存在。 智能 mock 读取 schema,提供逼真值(名字像名字,日期像日期),无需规则。静态文件变成多样数据。
- 让应用指向 mock 基础 URL。 iOS 构建把它作为开发 API 主机。设备无需代理、证书,也不会“只有 Dana 的笔记本连办公室 Wi-Fi 才能用”。
- 后端上线时切换环境。 端点定义保留,成为测试契约,文档一直已发布。
本质区别:Map Local 是每台机器的小把戏,随会话消失;mock 是共享基础设施。
真正的捕获工作:诚实的代理清单
检查不拥有的流量时,选择代理:
- mitmproxy:免费、开源(MIT),控制台、Web 和 Python 脚本接口。免费且可自动化时的默认答案。
- Proxyman:macOS 原生体验(也有 iOS、Android、Windows、Linux),freemium。Apple 团队最接近的同级 Charles 升级,自带 Map Local 和断点。
- HTTP Toolkit:开源且有免费核心,跨平台。针对特定浏览器或终端的一键拦截,适合限定范围调试。
- Fiddler:Windows 老牌;Fiddler Everywhere 是跨平台订阅后继者。相关对比见最好的 Fiddler 替代品。
许多团队的合理组合:Apifox 负责 API 生命周期,mitmproxy(免费)负责偶尔捕获。
Charles Proxy 与 Apifox 一览
| Charles Proxy | Apifox | |
|---|---|---|
| 类别 | MITM 调试代理 | API 开发平台 |
| 价格 | 每用户一次性 $50 | 免费版不限成员;商业标准版 ¥19/席位/月起 |
| 捕获第三方流量 | 是(核心工作) | 否 |
| SSL 代理 / 解密 | 是,通过根证书 | 不适用(两端都由你拥有) |
| 网络限速 | 是 | 否(设备级限速请保留代理) |
| 伪造响应 | Map Local / Rewrite,按机器 | 智能 mock,共享 URL,基于 schema |
| 传输中编辑 | 断点,手动 | 脚本化前后处理,可重复 |
| 重放请求 | Repeat / Repeat Advanced | 集合、运行器、数据驱动用例 |
| API 文档 | 无 | 已发布交互式文档 |
| 自动化测试 / CI | 无 | 测试场景 + CI 中的 CLI |
| 团队共享 | 会话文件 | 云工作区,实时同步 |
| 移动端捕获 | 是,包括 iOS 应用 | 否 |
术语提醒:“proxy”在这个话题每层含义不同;如果让搜索混乱,API 代理与 API 网关解释可以理清。
诚实的成本计算
Charles 一次性 $50,摊到多年几乎免费;假装 Apifox 在标价上赢它是在侮辱计算器。比较的不是许可费,而是工作流。以 Charles 为中心的 API 工作流有隐藏成本:payload 记录在截图、mock 数据只在一台笔记本、错误路径只手动测一次、每个新队友照 wiki 重建代理。Apifox 免费版用共享文档、托管 mock 和 CI 测试替代,不限成员,费用 ¥0。如果还单独买 API 客户端,整合账更好看;见最好的 Postman 替代品。
Charles 仍然合理的场景
当工作真正关于线路时,保留 Charles 或同类:审计第三方 SDK 流量、调试无法重建的应用、处理移动端证书固定、对整个设备限速复现弱网 bug。代理在那里是正确工具,$50 也合理。切换到 Apifox 的回本点,是队友第一次需要 mock、第一个 payload 问题靠文档回答、第一条错误路径变成测试。
常见问题
Charles Proxy 免费吗?
不免费。30 天试用后每用户一次性 $50,5 席起有折扣,站点许可 $400。Apifox 免费版不限成员,但替代的是 API 工作侧,不是捕获侧;免费捕获的标准答案是 mitmproxy,抓包工具盘点有比较。
Apifox 能像 Charles 一样捕获流量吗?
不能,我们不会假装可以。Apifox 没有 MITM 捕获,只处理你定义或导入的 API。它替代两端都拥有的 Charles 用法:检查自己响应、Map Local 伪造、重发请求。对于这种工作流,它是专门的家,就像最好的 Fiddler 替代品划定范围一样。
什么替代 Map Local 和 Rewrite?
智能 mock。定义带响应 schema 的端点,Apifox 立即从共享 URL 提供逼真数据:没有本地文件、按机器规则或测试设备根证书。自定义期望覆盖需要固定 payload 的情况。它做 Map Local 的同一件事,但不再局限于你的机器。
最好的免费 Charles 替代品是什么?
两种工作,两个答案。流量捕获:mitmproxy,MIT 许可,可 Python 脚本,带 Web UI。大多数开发者通过 Charles 完成的 API 调试、mock 和测试:Apifox 免费版,包含请求客户端、智能 mock、文档,以及通过 Apifox CLI 运行 CI。
Apifox 适合移动 API 开发吗?
API 侧适合:把 iOS/Android 开发构建指向 Apifox mock URL,应用获得逼真响应,设备无需代理或证书。要捕获移动应用实时流量(尤其证书固定),请保留捕获代理;Charles iOS 应用和 Proxyman 都能胜任。
把 API 工作交给 API 平台
审计一周 Charles 会话,把 API 工作移到不再需要变通的地方。定义反复检查的端点,交给前端 mock URL 而不是 Map Local 规则,把断点编辑变成 CI 测试。下载 Apifox 或在浏览器开始;免费版不花钱,第一个 mock 只差一份 schema。