Skip to content

流量控制

流量控制是 Charles 的重要功能之一,帮助用户有效管理和分析网络请求。通过流量控制,用户可以暂停或恢复抓包、过滤特定请求、重放或修改请求,以及设置断点调试,从而对抓包过程进行更细粒度的控制。

暂停/恢复抓包

Charles 允许用户随时暂停或恢复抓包,以便用户在需要时中断抓包过程,避免不必要的流量被捕获。

24101107.png

  • 暂停抓包: 点击工具栏中的 Record 按钮(录制按钮),当按钮状态变为"未激活"(灰色)时,Charles 将停止捕获网络流量。
  • 恢复抓包: 再次点击 Record 按钮,当按钮激活(红色)时,Charles 开始继续捕获流量。

此功能适合在不需要抓包的场景下暂停,以便只捕获重要请求,减少不必要的噪音。

过滤特定请求

在 Charles 中,用户可以根据特定条件过滤请求,确保只显示相关的请求或响应。过滤功能可以提高分析效率,尤其在大量网络流量的情况下。

通过搜索框进行过滤

  • 在请求列表的 Filter 搜索框中输入关键字(如 URL、状态码、请求方法),Charles 会自动过滤并显示与之匹配的请求。
  • 例如,可以输入 GET 来只显示 GET 请求,或者输入 404 来查看所有返回 404 状态码的响应。

24101108.png

高级过滤功能

  • 通过选择菜单 View > Filter,可以打开高级过滤选项,设置更详细的过滤条件,包括请求路径、主机名、IP 地址、端口等。

排除不需要抓取的流量

有时,用户只希望抓取某些特定的请求,或者排除某些不相关的流量。通过配置 Charles,可以排除不需要的流量。

  • 排除流量:

    • 选择 Proxy > Recording Settings
    • 在弹出的窗口中,点击 Exclude 选项卡。
    • 在此处,可以设置需要排除的域名或 IP 地址范围,避免捕获它们的流量。例如,可以排除某些广告域名或第三方 API 调用的流量。
  • 仅包含指定流量:

    • Recording Settings 中的 Include 选项卡,用户可以设置 Charles 只抓取某些特定域名的流量。未包含在列表中的流量将不会被抓取。

使用黑名单和白名单功能

黑名单和白名单是 Charles 提供的流量控制功能,允许用户对网络请求进行更精确的管理。

白名单(允许列表)

  • 设置 Charles 只允许抓取在白名单中的网络请求。可以根据域名、路径、端口号等信息定义白名单。
  • 配置方式:选择 Proxy > Access Control Settings,在 Allowlist 选项卡中添加允许的域名。

黑名单(拒绝列表)

  • 设置 Charles 自动拒绝或忽略来自黑名单中的网络请求,适用于屏蔽广告或不需要的第三方流量。
  • 配置方式:选择 Proxy > Access Control Settings,在 Denylist 选项卡中添加需要拒绝的域名。

重放请求(Repeat)

Charles 提供重放请求功能,允许用户重新发送之前捕获的请求,以便测试接口的稳定性或调试前后端交互问题。

操作步骤

  1. 在请求列表中,右键点击某个已捕获的请求。
  2. 选择 Repeat,Charles 会立即重新发送该请求。
  3. 可以观察新的响应是否与原响应一致,验证服务器的稳定性。

高级重放(Advanced Repeat)

  • Charles 允许用户自定义重放请求的次数和频率。
  • 右键点击请求,选择 Repeat Advanced,可以设置重复次数和间隔时间。例如,设置请求重复 10 次并间隔 1 秒,用于压力测试。

断点调试请求(Breakpoints)

断点调试是 Charles 的高级功能之一,允许用户在网络请求发送之前或服务器响应返回之前进行拦截,并手动修改请求或响应内容。

设置断点

  1. 在请求列表中,右键点击某个请求,选择 Breakpoints
  2. 当相同的请求再次发送时,Charles 会在请求发送之前暂停,显示一个调试窗口,用户可以在此窗口中查看和修改请求的内容(如 URL、头信息或请求体)。

执行断点调试

  • 当 Charles 拦截到请求后,用户可以:
    • 修改请求:更改 URL、参数或头信息后,再点击 Execute(执行),将修改后的请求发送到服务器。
    • 查看响应:Charles 也允许用户在响应返回时暂停,并修改响应体或状态码。

修改请求和响应

Charles 提供了强大的修改功能,允许用户在调试过程中灵活调整网络请求和响应。

修改请求

  1. 在 Charles 中,右键点击一个请求,选择 Edit
  2. 在编辑窗口中,可以修改:
    • URL:更改请求地址。
    • 请求头:如更改 User-AgentContent-Type 等。
    • 请求体:特别适用于 POST 请求,可以更改提交的表单数据或 JSON 数据。
  3. 修改完毕后,点击 Execute,Charles 会发送修改后的请求并显示结果。

修改响应

  1. 通过设置断点拦截响应,用户可以修改服务器返回的响应内容。
  2. 当响应被拦截时,用户可以修改响应的状态码、头信息以及响应体(如 JSON、HTML 等)。
  3. 修改完成后,点击 Execute,Charles 将返回修改后的响应给客户端。这对于模拟服务器不同的响应结果非常有用,例如验证客户端对错误代码的处理。
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!