Charles for Mac 是一款功能强大的HTTP/HTTPS网络抓包与调试代理工作区详解
一、 软件核心界面与工典区详解
Charles的主界面主要分为以下几个核心区域:
- 菜单栏与工具栏:位于窗口顶部(提供文件、编辑、代理、工具等主要功能入口。工具栏包含快速开始/停止录前会话、断清除得力助手。
- 会话列表区(Structure / Sequence 视图):
- Structure 视图:按主机名(域名)对请求适合按站点适合观察请求的先后时序。
- Sequence 视图:按请求发生的时间顺序组,适合观察请求的先后时序。
- 请求与响应详情区:选中会话列表中的任意一条请求后,该区域将显示其详细信息,包含多个标签页:
- Overview:请求与响应的概览信息,如URL、状态码、耗时、数据大小等。
二、 从创建/打开项目到最终导出的完整操作流程
Charles的核心工作流程围绕“捕获-分析-修敪敪-出”展开。
1. 启动代理与捕获会话
操作目标:开始记录计算机或移动设备动出的网络请求。
具体步骤:
- 启动Charles,确保菜单栏 Proxy -> macOS Proxy 已被勾选(这会将系绕代理设置为Charles)。
- 点击工具栏的 “开始/停止录制” 按钮(红色圆点)或使用快捷键
Command + R,使其变中)。
2. 分析网络请求
操作目标:查看特定请求的详细信息。
具体步骤:
- 在 会话列表区 选择一条目标请求。
- 在 请求与响应详情区 切换到 Contents 标签页。
- 分别查看 Request 和 Response 的 Headers 和 Body。JSON/XML数据会自动格式化,方便阅读。
3. 修改请求与响应(使用断点或重写)
操作目标:在请求发出前或响应返回响应过修改其内容。
方法A:使用断点(Breakpoints)
- 选中目标请求,右键选择 “Breakpoints”,或通过 Proxy -> Breakpoint Settings… 添加断点规则。
- 触发该请求,Charles会将其暂停。
- 在弹出的 “Edit Request” 或 “Edit Response” 窗发送请求或返回响应。Execut
Enable Browsers Rewrite
- Tools -> Rewrite…
- Set Rewrite -> URL -> Body
- Replace -> URL -> Body
4. Export
Export
Export Format
- Export as Charles -> .chls
- Export as cURL -> .curl
- Export as HAR -> .har
Map Local
- Map Local -> Tools -> Map Local…
- Throttle Settings -> Proxy -> Throttle Settings…
四、 常见问题与解决方案
Q1: 无法捕获HTTPS请求(可以同时启用<unknown>?
A1:这是未配置SSL代理所致。解决方案(右键域名(Help -> SSL Proxying -> Install Charles Root Certificate),并为目标在SSL代理(右键域名 -> Enable SSL Proxying)。
Q2: 手机连接Charles代理后无法上网?
A2:请检查:1) Mac和手机是否在同一局域网。2) Mac防火墙是否关闭或放行了Charles。3) 手机代理设置中的IP和端口(8888)是否正确。4) 首次连接时(右键域名启用完全信任。









