在调试接口、分析网络请求、复现Bug的过程中,Charles 几乎是每个开发者都会用到的一款抓包工具。
它就像是网络世界的“显微镜”——让你看清每一个HTTP请求的来龙去脉。
无论你是前端、后端、测试还是移动端开发,掌握Charles,就能真正理解系统中“数据是如何流动的”。
这篇文章就是一份系统的 Charles教程,带你从基础操作到实战技巧,全面掌握这款神器。
一、Charles 是什么?
Charles 是一款跨平台的 HTTP/HTTPS 抓包与调试工具,支持 macOS、Windows 与 Linux。
它的核心功能包括:
- HTTP/HTTPS 抓包与分析
- 请求/响应修改
- 接口重放与Mock测试
- 网络限速模拟
- 移动端App抓包
- 日志导出与团队协作
二、Charles 安装与基础设置
下载与安装
访问官方中文站点 Charles中文网根据系统下载对应版本。
安装完成后首次打开,Charles会提示是否启用系统代理。 点击 “Allow”,即可捕获电脑上的网络流量。
验证抓包是否成功
打开浏览器访问任意网站,如:https://example.com。
此时在Charles主界面应看到请求记录。
如果没有显示:
- 检查系统代理设置是否被禁用;
- 确认端口未被占用(默认8888);
- 关闭VPN或其他代理软件再试。
三、Charles 抓取 HTTPS 请求
HTTPS 流量是加密的,必须配置 Charles 证书才能解密。
证书安装步骤(电脑端)
- 点击菜单:
Help → SSL Proxying → Install Charles Root Certificate - 安装后打开证书管理工具(Windows为“管理用户证书”,Mac为“钥匙串访问”);
- 找到 “Charles Proxy CA” → 设置为 始终信任;
- 回到 Charles →
Proxy → SSL Proxying Settings → Add → *:*(表示抓取所有域名的HTTPS请求)。
验证是否成功: 访问任意HTTPS网站,查看请求详情是否可见。
四、Charles 抓取手机App流量
Charles 还能捕获手机端App的HTTP/HTTPS请求。
步骤如下:
① 确保手机与电脑在同一Wi-Fi网络
② 设置手机代理
在手机Wi-Fi设置中,手动配置代理:
- 服务器:电脑IP地址(可在Charles底部查看)
- 端口:8888
③ 安装Charles证书(移动端)
手机浏览器访问:chls.pro/ssl
下载安装证书。
iOS 设备还需前往:
设置 → 通用 → 关于本机 → 证书信任设置 → 启用“Charles Proxy CA”。
完成后重新打开App,即可在Charles中查看所有移动端请求。
五、Charles 常用功能详解
掌握以下几个功能,你的Charles技能就能从入门到进阶
Breakpoints(断点调试)
允许你拦截并修改请求或响应。
操作:
- 右键目标接口 → “Enable Breakpoints”;
- 请求触发后,Charles会暂停执行;
- 你可以修改请求参数、Header或响应内容。
适用场景:
- 模拟接口异常返回;
- 验证接口安全性;
- 测试前端错误处理逻辑。
Map Local(本地Mock)
用本地文件替代真实接口返回。
操作:
- 右键接口 → “Map Local”;
- 选择本地JSON文件;
- 请求会自动返回本地数据。
适用场景:
- 后端接口未完成时前端Mock测试;
- 离线演示页面功能;
- 数据展示调试。
Map Remote(环境映射)
让请求自动重定向到另一个服务器地址。
例如:
api.dev.example.com → api.test.example.com
操作路径:
Tools → Map Remote → Add
适用场景:
- 快速切换测试环境与生产环境;
- 比较不同环境接口响应差异。
Rewrite(请求/响应重写)
可自动修改请求参数或响应字段。
常见应用:
- 自动替换 Token;
- 修改 API 路径;
- 调整响应 JSON 数据。
设置路径:
Tools → Rewrite → Add
Throttle(网络限速)
模拟不同网络环境。
设置路径:
Proxy → Throttle Settings
可选择:
- 3G / 4G / Wi-Fi
- 自定义带宽与延迟
适用场景:
- 弱网性能测试;
- 模拟低速网络体验。
六、实战案例:排查“接口超时”问题
在一次项目中,测试反馈:“下单接口经常超时,但偶尔又正常。”
我们通过 Charles 抓包分析:
- 请求 Header 与参数正常;
- Timeline 显示耗时集中在 SSL 握手阶段;
- 切换网络后延迟恢复正常。
最终定位到问题:CDN证书配置冲突导致握手超时。
修复后,我们将此过程写入《接口异常排查流程》,Charles 成为了我们“流量级监控”的标准工具。
七、Charles 日志与协作
导出日志
File → Export Session → 保存 .chls 文件
同事可导入查看,复现同样请求流程。
过滤请求
使用Filter功能快速筛选特定域名或接口。
八、Charles 使用技巧总结
| 目标 | 推荐功能 | 效果 |
|---|---|---|
| 抓取HTTPS接口 | SSL Proxying | 查看完整请求/响应内容 |
| 模拟接口未完成 | Map Local | 本地Mock测试 |
| 切换不同环境 | Map Remote | 快速环境切换 |
| 模拟弱网 | Throttle | 性能测试 |
| 复现Bug | Export Session + Repeat | 快速还原问题 |
九、更多学习资源
想更深入了解Charles的进阶用法与案例, 推荐访问Charles国内中文网
这里提供:
- 中文安装与配置教程
- 移动端证书配置指南
- Rewrite与Throttle使用示例
- 抓包案例与调试技巧