Charles Proxy 入门:从安装到高效使用 – wiki基地

Charles Proxy 入门:从安装到高效使用

在现代Web和移动应用开发中,理解网络流量对于调试、测试和优化至关重要。Charles Proxy 是一款强大的网络调试代理工具,它能够让开发者、QA测试人员以及网络分析师监控、检查和修改机器(或移动设备)与互联网之间的HTTP和HTTPS流量。通过充当“中间人”角色,Charles Proxy 提供了对网络通信的深入可见性,这对于API调试、分析Web应用行为和优化性能来说是不可或缺的。

Charles Proxy 的核心功能包括:

  • 流量检查 (Traffic Inspection):查看详细的请求/响应数据,包括头部、参数和有效载荷。
  • SSL代理 (SSL Proxying):解密和检查安全的HTTPS流量。
  • 请求/响应修改 (Request/Response Modification):实时修改请求和响应,用于测试不同场景。
  • 网络限速 (Throttling):模拟各种网络条件,如慢速互联网连接或高延迟。
  • 断点 (Breakpoints):在流量到达目的地之前拦截并操纵流量。
  • 重复请求 (Repeat Requests):重新发送请求以测试后端更改。
  • 过滤 (Filtering):根据URL、状态码或内容筛选特定请求。

一、安装指南

开始使用Charles Proxy的第一步是下载并进行初步设置。

  1. 下载 Charles Proxy:访问 Charles Proxy 官方网站并下载适用于您操作系统的版本(Windows、macOS或Linux)。
  2. 运行安装程序
    • macOS: 解压下载的文件,并将Charles应用程序拖到“应用程序”文件夹中。
    • Windows: 按照标准的安装向导提示进行操作。
    • Linux: 对于基于Debian或Red Hat的发行版,可以使用APT或YUM仓库。否则,将压缩包解压到合适的目录。
  3. 启动 Charles Proxy:打开应用程序。首次启动时,Charles可能会请求配置系统代理设置的权限。请允许它这样做,以便自动捕获流量。

二、SSL代理与证书配置

要检查HTTPS流量,Charles Proxy需要作为受信任的证书颁发机构(CA)运行。这要求在您的系统或设备上安装并信任Charles的根证书。

1. macOS 系统配置:

  1. 启用macOS代理:在Charles中,前往 Proxy > macOS Proxy,并确保其处于选中状态。
  2. 安装Charles根证书:前往 Help > SSL Proxying > Install Charles Root Certificate。这将打开macOS的“钥匙串访问”应用程序。
  3. 信任证书:在“钥匙串访问”中,找到名为“Charles Proxy…”的证书,双击它,展开“信任”部分,并将“使用此证书时”更改为“始终信任”。您需要输入系统密码来保存此更改。

2. Windows 系统配置:

  1. 安装Charles根证书:在Charles中,前往 Help > SSL Proxying > Install Charles Root Certificate
  2. 证书导入向导:点击“安装证书”以启动证书导入向导。
  3. 选择存储位置:选择将所有证书放入“受信任的根证书颁发机构”存储区。
  4. 完成安装:按照提示完成向导。您可能需要重新启动浏览器或计算机才能使更改生效。

3. 移动设备(iOS/Android)配置:

  1. 连接到同一网络:确保您的移动设备和运行Charles Proxy的计算机连接到同一个Wi-Fi网络。
  2. 获取Charles Proxy的IP和端口:在Charles中,前往 Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser。弹出的窗口将显示要使用的IP地址和端口(通常是8888)。
  3. 在设备上配置手动代理
    • iOS: 前往 设置 > Wi-Fi,点击您已连接网络旁边的信息图标(i),滚动到 配置代理,选择 手动。输入从Charles获取的IP地址和端口。
    • Android: 前往 设置 > Wi-Fi,长按您已连接的网络,选择 修改网络,在代理设置中选择 手动,然后输入IP地址和端口。
  4. 在Charles中允许连接:Charles中会出现一个提示,要求允许来自您移动设备的连接;点击 Allow
  5. 在设备上安装SSL证书
    • 在您的移动设备上,打开浏览器(例如Safari),并访问 chls.pro/ssl
    • iOS: 下载配置文件,然后前往 设置 > 通用 > VPN与设备管理(或 描述文件与设备管理),安装Charles Proxy描述文件,然后前往 设置 > 通用 > 关于本机 > 证书信任设置,启用对“Charles Proxy Custom Root Certificate”的完全信任。
    • Android: 如果直接下载失败,请从Charles (Help > SSL Proxying > Save Charles Root Certificate) 将Charles根证书保存为 .cer 文件,传输到您的Android设备,并通过文件管理器安装。
  6. 在Charles中启用SSL代理:在Charles中,前往 Proxy > SSL Proxying Settings。在 Include 部分,添加您想要解密的域名。您可以添加 * 作为主机,443 作为端口来解密所有HTTPS流量,或指定特定的域名。

三、Charles Proxy 的高效使用

一旦安装和配置完毕,Charles Proxy提供了多种功能以实现高效的调试和测试:

  • 流量检查

    • Charles捕获所有HTTP/HTTPS请求和响应,并以结构化界面显示。
    • 主窗口显示主机、路径、方法和状态码等详细信息。选择请求会显示完整的头部、参数和正文内容。
    • 您可以以树形结构或纯文本形式查看XML和JSON请求与响应。
  • 修改请求和响应

    • 断点 (Breakpoints):设置断点以在特定点暂停请求或响应,允许您在发送或接收之前检查和操作它们。这对于测试边缘情况和错误场景非常有用。
    • 重写工具 (Rewrite Tool):使用重写工具根据定义的规则修改请求和响应的头部、主机、路径、URL或正文。
    • 本地映射/远程映射 (Map Local/Remote):将请求映射到本地文件或不同的远程端点,从而无需更改应用程序代码即可进行测试。
  • 网络限速 (Throttling)

    • 模拟各种网络条件(例如,3G、DSL、自定义速度、延迟)以测试应用程序在较慢或不可靠连接下的行为。前往 Proxy > Throttle Settings 并启用限速。
  • 过滤 (Filtering)

    • 根据URL、响应状态码或内容等标准筛选请求和响应,以专注于相关流量。您可以在过滤器栏中输入关键字以快速查找特定请求。
  • 重复请求 (Repeat Requests)

    • 重新发送请求以测试后端更改或不同的有效载荷,而无需从客户端应用程序手动重新触发它们。
  • API测试和调试

    • 检查API调用以查看请求结构、认证头部和响应有效载荷。
    • 实时调试失败的API调用并验证后端集成。
    • 比较预发布环境和生产环境的响应。

四、总结

通过有效利用这些功能,Charles Proxy成为了Web和移动开发中调试、测试和理解网络交互的宝贵工具。掌握Charles Proxy的使用,将极大地提升您在开发和测试过程中的效率。

滚动至顶部