它是什么?

#

网络视图允许您检查 Dart 或 Flutter 应用中的 HTTP、HTTPS 和 WebSocket 流量。

Screenshot of the network screen

记录了哪些网络流量?

#

所有源自 dart:io(例如 HttpClient 类)的网络流量都会被记录,包括 dio 包。此外,所有使用 http_profile 包记录的网络流量都会被记录在网络请求表中。这包括来自 cupertino_httpcronet_httpok_http 包的网络流量。

对于使用浏览器发出请求的 Web 应用,我们建议使用浏览器工具来检查网络流量,例如 Chrome DevTools

如何使用

#

当您打开“网络”页面时,DevTools 会立即开始记录网络流量。要暂停和恢复记录,请使用暂停恢复按钮(左上角)。

当您的应用发送网络请求时,它会显示在网络请求表(左侧)中。在收到完整响应之前,它会显示为“Pending”(待处理)。

从表格(左侧)中选择一个网络请求以查看详细信息(右侧)。您可以检查请求的通用信息和计时信息,以及响应和请求头和正文的内容。某些数据在收到响应之前不可用。

搜索和过滤

#

您可以使用搜索和过滤控件来查找特定请求或从请求表中过滤掉请求。

Screenshot of the network screen

要应用过滤器,请按下过滤按钮(搜索栏右侧)。您会看到一个过滤对话框弹出。

Screenshot of the network screen

过滤器查询语法在对话框中描述。您可以通过以下键过滤网络请求

  • method, m: 此过滤器对应于“方法”列中的值
  • status, s: 此过滤器对应于“状态”列中的值
  • type, t: 此过滤器对应于“类型”列中的值

任何未与可用过滤键配对的文本都将针对所有类别(方法、URI、状态、类型)进行查询。

示例过滤查询

my-endpoint m:get t:json s:200
https s:404

记录应用启动时的网络请求

#

要在应用启动时记录网络流量,您可以在暂停状态下启动应用,然后在恢复应用之前在 DevTools 中开始记录网络流量。

  1. 在暂停状态下启动您的应用
    • flutter run --start-paused ...
    • dart run --pause-isolates-on-start --observe ...
  2. 从您启动应用的 IDE 中打开 DevTools,或者如果您从 CLI 启动应用,则从命令行打印的链接中打开 DevTools。
  3. 导航到“网络”屏幕并确保已开始记录。
  4. 恢复您的应用。网络屏幕上的应用恢复体验截图
  5. 网络分析器现在将记录来自您应用的所有网络流量,包括应用启动时的流量。

其他资源

#

HTTP 和 HTTPS 请求也会在 时间轴 中作为异步时间轴事件显示。如果您想查看 HTTP 流量如何与您的应用或 Flutter 框架中发生的其他事件对齐,那么在时间轴中查看网络活动会很有用。

要了解如何使用 DevTools 监控应用的网络流量并检查不同类型的请求,请查看引导式 网络视图教程。本教程还使用该视图来识别导致应用性能不佳的网络活动。