很多人会用Charles抓包,但真正“精通”的人很少。
他们知道的不仅是“怎么看请求”, 而是如何用Charles主动控制网络。
Charles的功能远超你以为的“抓包”那么简单。 在这篇文章里,我将带你发现—— 8个几乎被忽略,却能极大提升开发效率的隐藏功能。
1. Rewrite:让接口“听你的”
如果你只把Charles当作被动的监听工具, 那你可能从未真正用过 Rewrite。
Rewrite允许你自动修改请求或响应的内容。
例如:
- 自动替换Header中的Token;
- 将接口
/api/v1/user重写为/api/v2/user; - 将响应中的
"status":500改成"status":200";
配置方法:
Tools → Rewrite → 添加规则组 → 选择目标域名 → 设置替换条件。
这意味着你可以在不改代码、不改后端的情况下, 快速验证接口兼容性或错误处理逻辑。
💡 小技巧: 用正则表达式(Regex)可实现更灵活的匹配逻辑。
2. Breakpoints:实时篡改请求
Rewrite是自动修改,而 Breakpoints 是手动拦截。
当你开启断点模式时, Charles会在请求发送前或响应返回后暂停, 让你自由修改数据。
常见用途:
- 修改请求参数测试接口安全性;
- 模拟后端返回异常;
- 拦截某个API手动查看延迟。
操作步骤:
- 右键请求 → Enable Breakpoints;
- 重新执行请求 → Charles暂停;
- 手动编辑参数后点击“Execute”。
这就像拥有了一个“上帝模式”的代理调试窗口。
专业用法: 在安全测试中,Breakpoints可用于检测输入过滤与接口验证。
3. Map Local:打造自己的Mock服务器
如果后端接口还没开发完怎么办? 很多前端会选择Postman或EasyMock。 但其实,Charles自带Mock功能——Map Local。
使用场景:
- 模拟接口响应(JSON、HTML、XML等);
- 离线展示页面;
- 快速验证UI与数据绑定逻辑。
操作方法:
- 右键目标请求 → “Map Local”;
- 选择本地文件(如
mock/user.json); - 请求时自动返回本地内容。
小技巧: 结合Rewrite使用,可同时替换路径与内容,打造完整Mock链路。
4. Map Remote:轻松切换环境
还在手动改URL切换测试/预发布/生产环境? 那你一定没用过 Map Remote。
它能让你自动把请求重定向到另一个服务器:
例如:
https://api.dev.company.com → https://api.test.company.com
适用场景:
- 一键切换接口环境;
- 前后端不同环境联调;
- 比较测试与正式接口响应差异。
设置路径:
Tools → Map Remote → Add
💡 Bonus: 还能用于抓取生产环境的请求结构,再映射到本地测试接口。
📱 5. SSL Proxying:看清HTTPS的真面目
HTTPS 抓不到包?其实Charles早就内置了支持。
开启方式:
- 安装证书:访问
chls.pro/ssl; - 在
Proxy → SSL Proxying Settings中添加目标域名; - 重新访问接口,即可看到完整加密内容。
适用场景:
- 移动App接口调试;
- 登录流程与授权验证分析;
- 加密数据结构研究。
💡 建议: 开启前仅在测试环境使用,勿在生产环境解密敏感信息。
6. Throttle:模拟各种网络环境
你的应用在地铁3G下是否依旧流畅? 用Charles的 Throttle 功能,你可以轻松复现各种网络条件。
操作步骤:
Proxy → Throttle Settings
可选择:
- 3G / 4G / Wi-Fi
- 自定义带宽、延迟与丢包率
应用场景:
- 弱网性能优化;
- 接口超时测试;
- 用户体验模拟。
💡 小技巧: 搭配 Repeat 功能测试多次请求延迟表现。
7. Repeat & Advanced Repeat:批量重放请求
Charles不只是被动监听,它还能主动出击。
Repeat:重复发送同一个请求。 Advanced Repeat:设定次数与间隔,实现压力测试。
例如: 你可以模拟100次下单请求, 快速测试接口稳定性与并发控制。
路径: 右键请求 → “Repeat” 或 “Advanced Repeat”
💡 高级用法: 结合Breakpoints分析在高并发下的接口响应变化。
8. Export Sessions:用日志复现Bug
在多人协作中,Charles日志文件(.chls)堪称Bug复现神器。
测试遇到问题 → 导出日志 → 开发导入 → 一键重现。
操作步骤:
File → Export Session导出;- 同事
File → Import导入分析。
应用场景:
- 异常问题复现;
- QA与开发协作;
- 请求差异比对。
💡 建议: 结合Session Filter功能,只导出相关接口,避免文件过大。
Bonus:高级玩法组合建议
如果你已经掌握基础功能,可以试试以下“进阶组合”:
| 目标 | 推荐组合功能 | 实现效果 |
|---|---|---|
| 快速切换环境 + Mock接口 | Map Remote + Map Local | 一键测试不同版本API |
| 安全测试 | Breakpoints + Rewrite | 模拟攻击/错误请求 |
| 性能优化 | Throttle + Timeline | 弱网延迟分析 |
| 团队联调 | Export Sessions + Repeat | 快速复现与回放问题 |
延伸学习资源
想深入了解Charles的更多功能与配置技巧?你可以访问 Charles中文网
这里提供:
- 中文教程与下载地址
- 移动端证书安装详解
- 285Rewrite与Throttle实战案例
- 高级功能进阶课程
结语:高手从不“只是抓包”
会用Charles抓包的人很己工作。”
Rewrite让你自动化测试,Breakpoints让你掌控流量,Throttle让你模拟世界,Map Local让你独立开发。
掌握这些隐藏功能,Charles不再只是“抓包工具”, 而是你调试体系的中枢。