捕获 HTTP 请求

如果您使用 API 构建客户端应用程序(如移动应用程序、网站或桌面应用程序),您可能希望查看应用程序中发送和接收的实际 HTTP 和 HTTPS 请求流量。有时您可能会发现甚至没有记录的 API。您可以使用 Postman 应用程序中内置的代理来捕获网络流量,包括请求、响应和 cookie。

您还可以使用 Postman 代理将 cookie 从 Chrome 浏览器自动同步到 Postman cookie jar。了解有关同步 cookie的更多信息。

内容

内置代理的工作原理

Postman 应用程序有一个内置代理,可以捕获 HTTP 和 HTTPS 流量。以下是它的工作原理:

  1. Postman 应用程序使用代理侦听客户端应用程序或设备发出的任何呼叫。
  2. Postman 代理捕获请求并将其转发到服务器。
  3. 服务器向 Postman 代理返回一个响应,它也可以保存在那里。
  4. 响应返回给客户端。

邮递员捕获代理

Interceptor Chrome 扩展类似,Postman 应用代理拦截并捕获您的请求。此外,它还可以捕获响应和 cookie。

启动 Postman 代理后,您可以启动代理调试会话,这是一个有时间限制的流量捕获会话。您可以启动、暂停和停止代理调试会话,然后再启动另一个。每个调试会话都记录在“历史记录”选项卡中,并显示总会话时间、流量概览和捕获的所有流量。您还可以向集合发送请求和响应,并将 cookie 保存到 Postman cookie jar。

使用邮递员代理

在以下步骤中,您将使用 Postman 应用程序的代理功能来检查进出手机的 HTTP 通信。要开始使用,请确保您的计算机和手机连接到同一个本地无线网络。

第 1 步:启用代理

您不能将 Postman 代理与Postman for web一起使用。确保您已安装Postman 桌面应用程序

首先,在 Postman 中启动代理:

  1. 在 Postman 页脚中选择捕获图标 捕获请求。

  2. 捕获请求窗口中,选择通过代理选项卡。

    通过代理选项卡捕获
  3. 在右上角,选择启用代理

  4. 输入端口号。默认情况下,它设置为 port 5555。记下您使用的端口号;您稍后将在配置客户端时使用它。

  5. 选择启用代理

代理现在正在运行,但在您启动代理调试会话之前它不会捕获流量。

第 2 步:启动代理调试会话

代理运行后,您可以启动代理调试会话。这是一个有时限的会话,其中捕获的流量保存在“历史记录”选项卡的条目中,也可以选择保存到集合中。启动代理调试会话后,您可以暂停、重新启动或停止它。在开始会话之前,您可以选择要进入的流量。

您只能同时运行一个代理或拦截器调试会话。

  1. 转到捕获请求窗口的通过代理选项卡。

  2. 选择保存请求的响应以保存每个请求的响应。它们将与捕获的请求一起保存。

    content-type包含图像、音频或视频的响应中,内容被截获但未被捕获。捕获的唯一信息是响应标头、所用时间和状态代码。

  3. 如果您想在调试会话期间捕获除请求之外的 cookie,请选择捕获 Cookie 。

    您还可以在不启动调试会话的情况下捕获 cookie 并将它们同步到 Postman。了解有关同步 cookie的更多信息。

  4. 请求将保存在侧边栏中“历史记录”选项卡的调试会话中。选择将请求保存到集合并从列表中选择一个集合以将请求也保存在那里。

  5. 如果您将请求和响应保存到集合中,默认情况下会按时间顺序添加它们。您可以将它们交替分组到按域名或端点组织的文件夹中。在Organize requests by 下,选择Domain nameEndpoints或两者。然后,您的请求和响应将组织在所选集合中的文件夹中。

  6. Configure Incoming Requests下,您可以使用其他选项来限制捕获的请求和响应:

    • URL 必须包含:仅捕获包含指定字符串或正则表达式的 URL。
    • URL 不能包含:不捕获包含指定字符串或正则表达式的 URL。
    • 方法:仅捕获选定的方法。
    • 资源:排除带有图像、JS 或 CSS 响应的请求。
  7. 选择开始捕获

代理调试会话现在已启动,但在为设备配置代理之前它不会捕获任何内容。

步骤 3:在客户端设备上配置代理

  1. 查找运行代理的机器的本地 IP 地址:

    • 在 macOS 上,您可以在System Preferences > Network中找到计算机的 IP 地址。选择一个网络接口,您的系统的IP地址将显示在右侧:

      系统偏好
    • 在 Windows 上,选择开始 > 设置 > 网络和互联网 > Wi-Fi以太网。您的 IP 地址列在Properties下。

  2. 打开客户端设备的无线设置并更新网络连接配置以使用 HTTP 代理。例如,在 iOS 中:

    1. 选择设置 > Wi-Fi
    2. 选择信息图标Wi-Fi 连接旁边的。
    3. 选择HTTP 代理 > 配置代理 > 手动
    4. 服务器端口设置为本地 IP 地址和代理端口。
    5. 选择保存
  3. 转到 Postman 应用程序,然后打开代理调试会话窗口。打开设备的网络浏览器或应用程序,您将开始看到通过应用程序或浏览器的 HTTP 流量。

在其他设备上配置代理

更广泛的开发社区发布了一些有用的教程,用于在各种操作系统上设置代理服务器:

第 4 步:运行代理调试会话

当您的捕获会话正在运行时,代理调试会话窗口将在您使用客户端设备上的浏览器或应用程序时显示捕获的流量。

您可以使用多种控件来限制、组织和调查捕获的流量:

  • 选择名称Proxy debug session并输入另一个名称以更改窗口名称。
  • 窗口顶部的配置传入请求控件使您能够限制捕获的流量。MethodsStatus CodesResourcesURL中选择项目以限制流量。这些控件类似于您在上面的步骤 2 中最初设置的控件,但它们限制了捕获的内容,而不是通过代理的内容。
  • 您可以选择或取消选择保存请求响应捕获 Cookie以切换是否收集响应或 cookie。
  • 选择请求选项卡以查看传入的请求和响应,或选择Cookie以查看捕获的 cookie。
  • 使用搜索框查找特定请求。
  • 选择请求旁边的>以展开它并查看更多详细信息。
  • 选择URL列中的 URL 以在 Postman 中将请求作为新 API 请求打开。
  • 在请求列表下方,有一些控件可以更改发送流量的集合,以及是否应按域名或端点分组。

当您从“请求”选项卡上的列表中选择一个或多个请求时,您可以使用以下控件:

  • 外部链接图标 删除- 删除请求。

当您从Cookie选项卡上的列表中选择一个或多个 Cookie 时,您可以使用以下控件:

  • + 添加到 Cookie Jar - 将请求添加到 Postman cookie jar。

  • 外部链接图标 删除- 删除 cookie。

右下角显示捕获会话的总时间,以及捕获流量的总大小。如果要暂时停止捕获会话,请选择暂停按钮。要重新启动会话,请选择Resume

第 5 步:停止调试会话和代理

完成调试会话后,选择右下角的停止。这将完成调试会话,并且调试会话的结果将保存在“历史记录”选项卡中。

停止会话后,代理仍在运行。选择Postman 页脚中的捕获图标 捕获请求,您可以启动另一个调试会话,或者选择禁用代理以关闭代理。

第 6 步:查看代理调试会话结果

完成调试会话后,会话的详细信息位于“历史记录”选项卡中,名为Proxy debug session

当您打开已保存的调试会话时,顶部标题会显示会话开始时间、总大小、持续时间和源。

概览显示会话中捕获的流量的摘要图。您可以选择按方法、域、数据模式或返回状态代码汇总流量的图表。

请求Cookie选项卡显示请求、响应和 cookie,类似于捕获会话期间可用的相同选项卡。步骤 4 中描述的用于搜索、展开、保存和删除项目的相同选项可用。您还可以将选定的请求添加到集合中。使用表格底部的控件来限制每页的项目数并浏览结果页面。

您可以通过选择窗口顶部的名称并输入新名称来重命名代理调试会话。选择三个点图标调试会话名称旁边的以重命名或删除会话。

下一步

要同时从客户端设备捕获 HTTPS 数据,您需要向客户端添加证书。有关更多详细信息,请参阅捕获 HTTPS 流量