捕获 HTTP 请求
如果你使用 API 构建客户端应用程序,如移动应用程序、网站或桌面应用程序,你可能需要检查在应用程序中发送和接收的实际 HTTP 和 HTTPS 请求流量。有时你可能会发现甚至没有记录的 API。你可以使用 Postman 中内置的代理来捕获网络流量,包括请求、响应和 cookie。
你还可以使用 Postman 代理自动将 cookie 从 Chrome 浏览器同步到 Postman cookie jar。了解有关 同步 cookie 的 更多信息。
内置代理的工作原理
Postman 应用程序有一个内置代理,可以捕获 HTTP 和 HTTPS 流量。它是这样工作的:
- Postman 应用程序侦听客户端应用程序或使用代理的设备发出的任何调用。
- Postman 代理捕获请求并将其转发到服务器。
- 服务器将响应返回给 Postman 代理,也可以将响应保存在该代理中。
- 响应返回给客户端。
与 Interceptor Chrome 扩展 类似,Postman 应用程序代理会拦截并捕获你的请求。此外,它还可以捕获响应和 cookie。
启动 Postman 代理后,你可以启动代理调试会话,这是一个限时的流量捕获会话。你可以启动、暂停和停止代理调试会话,然后再启动另一个。每个调试会话都记录在“历史记录”选项卡中,并显示总会话时间、流量概览和捕获的所有流量。你还可以向集合发送请求和响应,并将 cookie 保存到 Postman cookie jar。
使用 Postman 代理
在下面的步骤中,你将使用 Postman 应用程序的代理来检查进出手机的 HTTP 通信。首先,请确保你的计算机和手机连接到同一本地无线网络。
第 1 步:启用代理
你不能将 Postman 代理与 Postman 网络应用程序 一起使用。确保你已经安装了 Postman 桌面应用程序 。
在 Postman 页脚中选择 捕获请求。
在“捕获请求”窗口中,选择“通过代理”选项卡。
在右上角,选择启用代理。
输入端口号。默认情况下,它设置为端口
5555
。记下你使用的端口号;稍后你将在配置客户端时使用它。选择启用代理。
代理正在运行,但在你启动代理调试会话之前它不会捕获流量。
第 2 步:启动代理调试会话
代理运行后,你可以启动代理调试会话。这是一个有时限的会话,其中捕获的流量保存在“历史记录”选项卡的一个条目中,并且可以选择保存到一个集合中。代理调试会话启动后,你可以暂停、重新启动或停止它。在开始会话之前,你可以选择要进入的流量。
你只能同时运行一个代理或拦截器调试会话。
要启动代理调试会话,请执行以下操作:
转到“捕获请求”窗口的“通过代理”选项卡。
选择保存请求的响应以保存每个请求的响应。它们将与捕获的请求一起保存。
在具有图像、音频或视频的响应中
content-type
,内容会被拦截但不会被捕获。捕获的唯一信息是响应 header、花费的时间和状态代码。如果你希望在调试会话期间除了请求之外还捕获 cookie,请选择捕获 Cookie 。
你还可以捕获 cookie 并将它们同步到 Postman,而无需启动调试会话。了解有关 同步 cookie 的 更多信息。
请求将保存在侧边栏“历史记录”选项卡中的调试会话中。选择将请求保存到集合并从列表中选择一个集合以将请求也保存在那里。要创建用于保存请求的新集合,请输入新集合的名称并选择创建操作。
如果你将请求和响应保存到集合中,它们将默认按时间顺序添加。你也可以将它们分组到按域名或端点组织的文件夹中。在Organize requests by下,选择Domain name、Endpoints或两者。然后,你的请求和响应将组织在所选集合中的文件夹中。
在 Configure Incoming Requests下,你可以使用更多选项来限制捕获的请求和响应:
- URL 必须包含- 只捕获包含指定字符串或正则表达式的 URL。
- URL 不能包含- 不要捕获包含指定字符串或正则表达式的 URL。
- 方法- 仅捕获选定的方法。
- 资源- 排除具有图像、JS 或 CSS 响应的请求。
选择开始捕捉。
代理调试会话已启动,但在设备配置代理之前它不会捕获任何内容。
第 3 步:在客户端设备上配置代理
查找运行代理的机器的本地 IP 地址:
在 macOS 上,你可以在 System Preferences > Network中找到计算机的 IP 地址。选择一个网络接口,右侧会显示你系统的 IP 地址:
在 Windows 上,选择开始 > 设置 > 网络和互联网 > Wi-Fi或以太网。你的 IP 地址列在属性下。
打开客户端设备的无线设置并更新网络连接配置以使用 HTTP 代理。例如,在 iOS 中:
- 选择设置 > Wi-Fi。
- 选择 Wi-Fi 连接旁边的。
- 选择HTTP 代理 > 配置代理 > 手动。
- 将服务器和端口设置为本地 IP 地址和代理端口。
- 选择保存。
在 Postman 应用程序中,打开代理调试会话窗口。打开设备的网络浏览器或应用程序,HTTP 流量将开始通过应用程序或浏览器。
在其他设备上配置代理
更广泛的开发社区发布了一些有用的教程,用于在各种操作系统上设置代理服务器:
第 4 步:运行代理调试会话
当你的捕获会话正在运行时,代理调试会话窗口将在你使用客户端设备上的浏览器或应用程序时显示捕获的流量。
你可以使用多种控件来限制、组织和调查捕获的流量:
- 选择名称Proxy debug session并输入另一个名称以更改窗口名称。
- 窗口顶部的配置传入请求控件使你能够限制捕获的流量。**从 Methods、Status Codes、Resources和URL**中选择项目以限制流量。这些控件类似于你最初在上面的第 2 步中设置的控件,但它们限制捕获的内容,而不是通过代理的内容。
- 选择或取消选择“保存请求的响应”和“捕获 Cookie”以选择是收集响应还是收集 Cookie。
- 选择Requests选项卡以获取有关传入请求和响应的信息,或选择Cookies以获取有关捕获的 cookie 的信息。
- 使用搜索框查找特定请求。
- 选择请求旁边的>以展开它以了解更多详细信息。
- 在 URL列中选择 URL 以在 Postman 中将请求作为新的 API 请求打开。
- 在请求列表下方,有一些控件可以更改发送流量的集合,以及是否需要按域名或端点对其进行分组。
当你从“请求”选项卡上的列表中选择一个或多个请求时,你可以使用以下控件:
- 删除- 删除请求。
当你从 Cookie选项卡上的列表中选择一个或多个 cookie 时,你可以使用以下控件:
- + 添加到 Cookie Jar - 将请求添加到 Postman cookie jar。
- 删除- 删除 cookie。
右下角显示捕获会话的总时间,以及捕获流量的总大小。如果你想暂时停止捕获会话,请选择暂停。要重新启动会话,请选择Resume。
第 5 步:停止调试会话和代理
完成调试会话后,选择右下角的停止。这将完成调试会话,调试会话的结果将保存在“历史记录”选项卡中。
停止会话后,代理仍在运行。在 Postman 页脚中选择 捕获请求,你可以启动另一个调试会话,或选择禁用代理以关闭代理。
第 6 步:查看代理调试会话结果
完成调试会话后,会话的详细信息位于历史选项卡中,名为Proxy debug session。
当你打开保存的调试会话时,顶部标题会显示会话开始时间、总大小、持续时间和来源。
概述显示会话中捕获的流量的摘要图。你可以选择按方法、域、数据模式或返回状态代码汇总流量的图表。
Requests 和Cookies 选项卡显示请求、响应和 cookie ,类似于捕获会话期间可用的相同选项卡。与第 4 步中描述的搜索、扩展、保存和删除项目的选项相同。你还可以将选定的请求添加到集合中。使用表格底部的控件来限制每页的项目数并查看结果页面。
你可以通过在窗口顶部选择名称并输入新名称来重命名代理调试会话。选择调试会话名称旁边的更多操作图标 以重命名或删除会话。
下一步
要同时从客户端设备捕获 HTTPS 数据,你需要向客户端添加证书。有关详细信息,请参阅 捕获 HTTPS 流量。