Charles 是一款常用的 HTTP 代理服务器工具,广泛用于网络调试、抓取和分析 HTTP/HTTPS 流量,本文将以 Charles 4.1.1 版本为例,详细介绍其安装、配置、核心功能及使用技巧,帮助用户快速上手并高效利用这一工具。

Charles 安装与启动
-
下载与安装
访问 Charles 官网(https://www.charlesproxy.com/)下载 4.1.1 版本安装包,支持 Windows、macOS 和 Linux 系统,安装过程较为简单,根据提示点击“下一步”即可完成,安装时勾选“Install Charles Proxy Certificate”选项,以便后续抓取 HTTPS 流量。 -
启动与授权
首次启动 Charles 会提示输入注册码(若未购买可选择试用),试用版有 30 分钟的限制,每次重启后需重新连接,授权成功后,主界面将显示“Proxy”菜单,表明代理服务已默认启动。
基础配置
-
代理设置
- 本地设备:确保设备的网络代理设置为 Charles 默认地址(127.0.0.1)和端口(8888),在 Charles 中,可通过“Proxy > Proxy Settings”修改端口,默认无需调整。
- 移动设备:连接同一局域网后,在手机 WiFi 设置中配置代理,服务器地址为电脑 IP,端口与 Charles 一致(8888),首次连接需在 Charles 中点击“Allow”授权设备。
-
SSL 代理设置
为抓取 HTTPS 流量,需启用 SSL 代理功能:
(图片来源网络,侵删)- 进入“Proxy > SSL Proxying Settings”,勾选“Enable SSL Proxying”。
- 在“Locations”中添加“*”和“443”,表示拦截所有 HTTPS 端口 443 的流量。
- 需在设备上安装 Charles 根证书(电脑通过“Help > SSL Proxying > Install Charles Root Certificate”安装,手机需通过浏览器访问
chls.pro/ssl下载并信任证书)。
核心功能使用
-
流量抓取与查看
启动代理后,所有 HTTP/HTTPS 流量将显示在 Charles 主界面的“Structure”面板中,流量按域名分组,点击可展开查看具体请求(Request)和响应(Response),访问网页时,可看到 HTML、CSS、JS 等资源的请求详情,包括请求方法、URL、Headers、Body 及响应状态码。 -
过滤与搜索
- 过滤:在主界面工具栏的“Filter”框输入关键词(如域名或文件类型),可快速定位目标流量。
- 搜索:通过“Edit > Find”或快捷键
Ctrl+F搜索请求 URL 或响应内容,适合调试复杂接口。
-
断点调试(Breakpoints)
- 设置断点:右键点击请求,选择“Breakpoints > Break Request”或“Break Response”,可拦截请求或响应,修改后手动放行。
- 模拟数据:在断点中修改请求参数或响应体,用于测试接口异常场景或模拟后端返回数据。
-
流量控制(Throttle)
模拟弱网环境:进入“Proxy > Throttle Settings”,勾选“Enable Throttling”,可设置带宽(如 128Kbps)、延迟(如 500ms)和丢包率,用于测试 App 或网页在不同网络下的表现。
(图片来源网络,侵删) -
映射与重定向(Map & Redirect)
- 本地映射:右键点击请求,选择“Map Local”,选择本地文件替代远程资源,用于调试静态资源或模拟接口返回。
- 远程映射:通过“Map Remote”将请求重定向至其他服务器,适用于跨环境测试(如开发环境切换到测试环境)。
高级技巧
-
重复请求(Repeat)
右键点击请求,选择“Repeat”,可快速重复发送请求,用于压力测试或验证接口幂等性。 -
导出与分享
- 导出流量:选中请求后,通过“File > Export”可导出为 HAR、TXT 或 JSON 格式,便于分享或分析。
- 会话保存:通过“File > Save”保存当前抓取的会话,方便后续回溯。
-
带宽监控
在“Window > Bandwidth”中可实时查看当前带宽使用情况,帮助优化资源加载性能。
常见问题解决
-
无法抓取 HTTPS 流量
- 检查设备是否已安装并信任 Charles 根证书。
- 确认 Charles 中 SSL Proxying 已启用且 Location 配置正确。
- 部分应用(如微信、高版本 Chrome)可能使用证书固定技术,需关闭应用网络代理或尝试其他抓包工具。
-
移动设备连接失败
- 确认手机与电脑在同一局域网,且电脑防火墙未阻止 Charles 端口(8888)。
- 尝试重启 Charles 或手机代理设置,重新授权设备连接。
相关问答 FAQs
Q1:Charles 抓取 HTTPS 流量时提示“SSL Error”,如何解决?
A1:此问题通常是由于未安装或未信任 Charles 根证书导致,解决步骤如下:
- 在电脑上打开 Charles,进入“Help > SSL Proxying > Install Charles Root Certificate”,根据系统提示安装证书。
- 在手机浏览器中访问
chls.pro/ssl,下载证书并安装至“信任的根证书颁发机构”或“系统证书”中(部分 Android 需手动导入)。 - 重启手机或清除应用缓存后重新尝试抓包,若仍失败,可尝试在 Charles 中关闭“Verify SSL”选项(路径:Proxy > SSL Proxying Settings > SSL Proxying),但安全性较低。
Q2:如何使用 Charles 模拟慢速网络环境测试 App 性能?
A2:通过 Charles 的流量控制(Throttle)功能可模拟网络延迟和带宽限制,具体操作如下:
- 在 Charles 中进入“Proxy > Throttle Settings”,勾选“Enable Throttling”。
- 配置网络参数:
- Bandwidth:设置下行/上行带宽(如 128 Kbps 模拟 2G 网络)。
- latency:设置延迟(如 500ms)。
- Packet Loss:设置丢包率(如 5%)。
- 点击“OK”后,启动 App 或访问网页,即可观察其在慢速网络下的加载性能,测试完成后需关闭 Throttle 以恢复正常网络。
