一、准备工作

  1. 下载安装Charles
    • 访问官网(https://www.charlesproxy.com/download/)下载macOS版本DMG安装包
    • 打开DMG,将Charles图标拖到"Applications"文件夹完成安装
    • 首次启动时,系统会提示授予网络权限,选择"Allow"

二、基本代理设置

  1. 开启系统代理

    • 在Charles菜单栏选择 Proxy > macOS Proxy(确保选项前有√)
    • Charles会自动配置系统代理,将HTTP/HTTPS请求转发到Charles(端口默认为8888)
    • 验证:打开系统偏好设置 > 网络 > 高级 > 代理,确认Web代理(HTTP)和安全Web代理(HTTPS)均设置为127.0.0.1:8888
  2. 开始抓包

    • 点击Charles工具栏中的红色圆点(或选择 File > Start Recording),确保显示"Recording"状态

三、HTTPS抓包核心配置(关键步骤)

  1. 安装Charles根证书

    • 在Charles菜单栏选择 Help > SSL Proxying > Install Charles Root Certificate
    • 系统会自动打开"钥匙串访问"应用
  2. 信任证书(重要)

    • 在钥匙串访问中找到名为 “Charles Proxy CA” 的证书(可能需要展开"证书"类别)
    • 双击证书,在弹出窗口中展开"信任"部分
    • 将"使用此证书时"下拉菜单从"使用系统默认值"改为 “始终信任”
    • 关闭窗口,系统提示输入管理员密码,验证后完成信任
    • (若使用Safari,建议退出并重新启动浏览器使证书生效)
  3. 启用SSL代理

    • 在Charles菜单栏选择 Proxy > SSL Proxying Settings
    • 在弹出窗口中勾选 “Enable SSL Proxying”
    • 点击 Add 按钮添加抓包规则:
      • Host: *.baidu.com (抓取百度所有子域名)或直接输入www.baidu.com
      • Port: 443 (HTTPS默认端口)
    • (可选)如需抓取所有HTTPS网站,添加*:*通配规则
    • 点击 OK 保存设置

四、抓取百度请求实操

  1. 开始抓包

    • 确保Charles显示"Recording"(红色圆点)且已开启macOS Proxy和SSL Proxying
  2. 访问百度

    • 打开浏览器(推荐Safari或Chrome)
    • 访问百度首页:https://www.baidu.com
    • 进行搜索或浏览,Charles会自动捕获所有百度相关的HTTPS请求
  3. 查看抓包结果

    • 返回Charles界面,在左侧面板查看请求列表(Structure视图按域名组织,Sequence视图按时间顺序)
    • 点击左侧的 baidu.com 或具体请求,右侧会显示详细的请求和响应信息

五、查看请求和响应详细信息

  1. 查看请求详情

    • 在Charles主界面左侧选择一个百度相关的请求
    • 右侧切换到 Request 标签,查看:
      • General: 请求URL、方法、协议等基础信息
      • Headers: 请求头(包括User-Agent、Cookie等)
      • Body: 请求体内容(如POST参数)
  2. 查看响应详情

    • 选择 Response 标签,查看:
      • Status: 响应状态码(如200表示成功)
      • Headers: 响应头(包括Content-Type、Set-Cookie等)
      • Body: 响应内容(网页HTML、JSON数据等)

六、常见问题及解决方案

问题解决方案
HTTPS请求显示为"unknown"或不显示内容1. 确认证书已安装并设置为"始终信任"
2. 检查SSL Proxying Settings是否添加了百度域名
浏览器无法访问网站1. 确保Charles正在运行且显示"Recording"
2. 检查是否勾选了"macOS Proxy"
只能抓到HTTP而非HTTPS请求确认已完成HTTPS抓包核心配置(证书安装和信任、SSL代理启用)
Charles界面没有显示任何请求1. 确保浏览器已发送请求(可尝试刷新页面)
2. 检查代理设置是否正确

七、实用技巧

  1. 过滤请求

    • 在Charles顶部搜索框输入"baidu",快速过滤出所有百度相关请求
  2. 保存和导出

    • 右键点击请求 > Save Response 或 Save Request,可保存为文件
  3. 重新发送请求

    • 右键点击已捕获的请求 > Repeat,可重新发送相同请求

总结

至此,您已完成Charles在macOS下抓取百度HTTPS请求的完整配置!关键步骤总结:

  1. 开启系统代理(Proxy > macOS Proxy)
  2. 安装并信任Charles根证书(必选)
  3. 启用SSL代理并添加百度域名规则(Proxy > SSL Proxying Settings)
  4. 开始抓包并访问百度验证

后续可尝试抓取其他HTTPS网站,或探索Charles的更多高级功能(如断点调试、请求修改等)。如需停止抓包,取消勾选"macOS Proxy"或点击红色圆点停止Recording即可。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐