使用邮递员拦截器

Postman Interceptor 是一个 Chrome 扩展程序,可作为 Postman 应用程序的浏览器伴侣。拦截器使您能够直接从 Chrome 浏览器捕获网络请求和 cookie。

一旦 Interceptor 在 Chrome 中运行,您就可以启动一个调试会话,这是一个有时间限制的流量捕获会话。您可以启动、暂停和停止拦截器调试会话,然后再启动另一个。每个调试会话都记录在历史选项卡中,并显示总会话时间和捕获的所有流量。从记录的会话中,您可以向集合发送请求和响应,并将 cookie 保存到 Postman cookie jar。

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

内容

安装拦截器

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

首先,安装 Postman Interceptor:

  1. 在 Chrome 网上应用店中下载拦截器。如果您已经拥有该扩展,请确保它是 v0.2.26 或更高版本。

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

  3. Capture requests窗口中,选择Via Interceptor选项卡。

    通过拦截器选项卡捕获
  4. 选择Install Interceptor Bridge以下载 Bridge,这是一个独立的可执行文件,可促进与 Interceptor 的通信。

    如果您使用的是 Windows 或 Linux,Postman 将为您处理一切。如果您使用的是 macOS,如果您的计算机上尚未安装 NodeJS,系统会提示您安装它。

  5. 通过检查右上角的Connected状态是否为绿色,确认 Interceptor 已准备好使用。您现在可以捕获来自浏览器的请求和来自任何域的 cookie,以在 Postman 中使用。

使用拦截器

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

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

  1. 转到捕获请求窗口的通过拦截器选项卡。

  2. 如果您想在调试会话期间捕获除请求之外的 cookie,请选择捕获 Cookie 。您可以在 Postman 请求中使用这些 cookie。

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

  3. 默认情况下,请求将保存在侧边栏历史选项卡中的调试会话中。要同时将请求保存到集合,请从将请求保存到集合下的列表中选择一个集合

  4. URL 必须包含下,指定一个字符串或正则表达式,并且只会捕获匹配的 URL。

  5. Methods下,选择一种或多种方法以仅捕获这些方法。

  6. 选择开始捕获

捕获 cookie

运行拦截器调试会话

当您的拦截器会话正在运行时,拦截器调试会话窗口将在您使用 Chrome 浏览器时显示捕获的流量。

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

  • 选择名称Interceptor debug session并输入另一个名称以更改窗口名称。
  • 窗口顶部的配置传入请求控件使您能够限制捕获的流量。从方法URL中选择项目以限制流量。这些控件与您最初设置的控件相似,但它们限制了捕获的内容,而不是通过拦截器的内容。
  • 您可以选择或取消选择捕获 Cookie以切换是否收集 Cookie。
  • 选择请求选项卡以查看传入的请求和响应,或选择Cookie以查看捕获的 cookie。
  • 使用搜索框查找特定请求。
  • 选择请求旁边的>以展开它并查看更多详细信息。
  • 选择URL列中的 URL 以在 Postman 中将请求作为新 API 请求打开。

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

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

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

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

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

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

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

停止会话后,拦截器仍处于连接状态。在 Postman 页脚中选择捕获图标 Capture requests,您可以启动另一个调试会话。

查看拦截器调试会话结果

完成调试会话后,它的事务位于历史选项卡中,名为Interceptor debug session

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

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

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

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

这个怎么运作

Interceptor 通过利用 Google Chrome 功能工作,安装过程因您的操作系统而异。

Postman 的原生应用需要 Chrome 的原生消息功能。这需要一个独立的可执行文件,并将安装在您的机器上。

您的安装可能包括以下选项:

  • [仅限 macOS] 安装 NodeJS:如果 Postman 检测到您没有可用的 NodeJS 二进制文件,系统会提示您安装它。Postman 将下载最新的稳定版本的 Node

  • [仅限 Windows] 添加注册表项:将一个com.postman.postmanapp项添加到HKCU\Software\Google\Chrome\NativeMessagingHosts\. 键指向 JSON 文件(清单)的位置。

  • 添加清单文件:这是一个 JSON 文件(其结构由Native Messaging定义),它为 Chrome 提供了拦截器扩展可以与之通信的可执行文件的绝对路径。此文件将安装在取决于您的操作系统的位置:

    • macOS/Users/<username>/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.postman.postmanapp.json
    • 窗户%USERPROFILE%\.postman\InterceptorBridge\com.postman.postmanapp.json
    • Linux~/.config/google-chrome/NativeMessagingHosts/com.postman.postmanapp.json
  • 添加一个可执行文件:这是一个由 Chrome 启动的新进程,当 Interceptor 扩展需要时。对于 Windows 和 Linux,这是一个独立的二进制文件。对于 macOS,这是一个 JavaScript 文件。该文件必须是可执行的。此可执行文件将安装在取决于您的操作系统的位置:

    • macOS$HOME/.postman/InterceptorBridge
    • 窗户%USERPROFILE%/.postman/InterceptorBridge
    • Linux$HOME/.postman/InterceptorBridge

故障排除提示

通过查看Capture requests窗口的右上角,您可以找到 Interceptor 集成的当前状态:

  • 已连接:您可以继续使用拦截器。
  • 未连接:确保 Interceptor安装正确
  • 未安装依赖项:Postman 将引导您完成如何安装所需的依赖项。

如果您在安装或下载过程中遇到错误,请查看以下步骤来解决它们:

  • CHROME_NOT_INSTALLED:检查是否安装了 Chrome 并且NativeMessagingHosts在以下位置存在文件夹:

    • macOS~/Library/Application Support/Google/Chrome/NativeMessagingHosts
    • Linux~/.config/google-chrome/NativeMessagingHosts
    • 窗户HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\NativeMessagingHosts

    如果您使用不同风格的 Chrome,例如 Chromium、Brave 或 Edge:

    1. 在上面的位置创建NativeMessagingHosts目录。
    2. 安装拦截器桥(请参阅安装拦截器)。
    3. 复制InterceptorBridge到上面的NativeMessagingHosts目录。
  • INTERNET_CONNECTIVITY

    • 检查您的互联网连接。
    • 如果您位于防火墙后面,请检查您的入站和出站策略。
    • 如果您使用的是代理,请检查它是否已正确配置。
  • FILE_PERMISSIONS_REQUIRED

    • 验证您是否有权创建.postman/InterceptorBridge文件夹。
    • 验证您是否有权在路径中删除、写入和执行.postman/InterceptorBridge
    • [仅限 macOS] 验证您是否拥有~/Downloads文件夹并对其进行写入权限。
    • 如果上述步骤不成功,请关闭 Chrome 和 Postman,然后重试安装。
  • [视窗]REGISTRY_ACCESS_NEEDED

    • 验证您是否有权添加注册表项。
    • 验证C:\Windows\System32是否存在于PATH系统环境变量)中,以便reg可以执行查询。

如果您在完成引导式安装后无法使用集成,您需要检查以下项目:

  • [macOS] 节点已正确安装:节点应已安装并在/usr/local/node或可用/usr/local/bin/node,或者您已设置环境变量NVM_BIN
  • 清单文件位置:清单文件 ( com.postman.postmanapp.json) 存在,具有正确的扩展 ID ( aicmkgpgakddgnaphhhpliifpcfhicfo) 和可执行文件的正确路径。
    • 如果缺少,请删除以下目录并重新启动安装过程
      • macOS / Linux$HOME/.postman
      • 窗户%USERPROFILE%\.postman\
  • 可执行文件:清单指向的可执行文件应该存在并且对于 Windows/Linux 大约为 40MB,对于 macOS 大约为 33KB。
    • 如果缺少,请删除以下目录并重新启动安装过程
      • macOS / Linux$HOME/.postman
      • 窗户%USERPROFILE%\.postman\

对于 macOS,NodeJS 下载器应保存到您的~/Downloads目录中。

对于 Windows,如果您在 Postman 中看到安装错误,请关闭 Chrome 并重试,然后再重复安装过程。

如果上述故障排除步骤不能解决问题,您可能需要删除所有 Interceptor 的依赖项(例如清单文件、Interceptor Bridge 以及对于 Windows 用户的注册表项)。为此,打开 Postman 并导航到View > Developer > Show DevTools (Current View)。输入pm.interceptorInstaller.reset()删除所有现有的拦截器依赖项。然后您可以从第 3 步继续安装

如果由于权限问题无法删除任何依赖项,系统将提示您手动删除它们。

如果您无法解决INTERNET_CONNECTIVITY错误,您可以手动安装 Interceptor:

  • macOS/Linux

    • [仅适用于 macOS] Node.js (>v6.0.0) 应在/usr/local/nodeor上安装并可用/usr/local/bin/node,或者您已设置环境变量NVM_BIN
    • 安装适用于macOSLinux的网桥。
    • 运行脚本install_host.sh
    • 执行脚本后,检查以下项目:
      1. 验证InterceptorBridge文件是否存在于$HOME/.postman.
      2. 验证清单文件是否com.postman.postmanapp.json存在于~/Library/ApplicationSupport/Google/Chrome/NativeMessagingHostsmacOS 或~/.config/google-chrome/NativeMessagingHostsLinux。检查它是否具有正确的扩展 ID以及可执行文件aicmkgpgakddgnaphhhpliifpcfhicfo的正确路径。$HOME/.postmanInterceptorBridge
  • 窗户

    • 安装适用于Windows的桥接器。
    • 运行脚本install_host.bat
    • 执行脚本后,检查以下项目:
      1. 验证InterceptorBridge.exe文件是否存在于%USERPROFILE%\.postman\.
      2. 验证此路径中是否存在具有正确扩展 ID和可执行文件正确路径HKEY_CURRENT_USER\SOFTWARE\Google\Chrome\NativeMessagingHosts的清单文件。com.postman.postmanapp.jsonaicmkgpgakddgnaphhhpliifpcfhicfo%USERPROFILE%\.postman\InterceptorBridge.exe

笔记:

  • 要根据您的操作系统运行脚本,您可能需要双击或在 shell 中执行安装程序脚本。macOS 或 Windows 上的用户可能会看到安全警告。例如,要覆盖 macOS 上的安全性,您可能需要右键单击文件并选择Open

  • 如果您使用 snap 安装了 Postman 应用程序(在 Linux 机器上),Interceptor 将无法连接,您必须在 snap 之外重新安装 Postman 应用程序。

安全

Interceptor 和 Postman 之间的通信是自动加密的。您可以通过添加自定义加密密钥使该通信更加安全。

在 UI 中添加自定义加密密钥

  1. 在 Postman 应用程序中,选择Postman 页脚中的捕获图标 捕获请求。然后在Capture requests窗口中,选择Via Interceptor选项卡。

  2. 在绿色已连接状态的右侧,选择锁定图标锁定图标

    在应用程序中设置加密
  3. 输入 10 个或更多字符的字母数字键,然后选择保存键

  4. 打开浏览器并选择拦截器扩展。选择锁定图标,输入相同的密钥,然后选择保存密钥。应用程序和浏览器都将确认连接是安全的。

使用 pm API 添加自定义加密密钥

您还可以使用pm API更新默认加密密钥。为此,请打开 Postman 并选择View > Developer > Show DevTools (Current View) > Console,然后输入pm.interceptorBridge.setKey("<your key here>").

对于拦截器扩展,首先在Chrome 扩展中启用开发者模式。然后,您可以右键单击浏览器中的拦截器图标,选择Inspect Popup > Console。在这里再次输入命令。通过此通道的所有通信现在都将使用您自己的密钥进行加密。pm.interceptorBridge.setKey("<your key here>")

更新拦截器

更新拦截器:

  1. 通过选择 Chrome 应用右上角的菜单图标 >更多工具>扩展来查看现有的 Chrome扩展。

  2. 在右上角选择打开开发者模式。

  3. 选择左上角的更新以更新您的扩展程序

将拦截器与 Postman 的 Chrome 应用程序一起使用

Postman 的 Chrome 应用程序已弃用,不再提供与 Postman 本机相同的功能。强烈建议您切换到Postman native

Postman Chrome 应用程序的拦截器用作捕获 HTTP 和 HTTPS 请求的代理。您可以使用 Interceptor 捕获 Chrome 浏览器发出的请求并将它们发送到 Postman 应用的历史记录。

您可以通过在浏览器中选择拦截器图标来根据 URL 过滤请求,然后在Filter requests下应用过滤器。

您可以使用 Interceptor 为 Web 应用程序创建 Postman 集合或调试您的 API。您还可以将 Postman Chrome 应用程序与 Interceptor 结合使用来发出和捕获请求。

要将 Interceptor 与 Postman Chrome 一起使用:

  1. 从 Chrome 网上应用店安装 Postman 。
  2. 从 Chrome 网上应用店安装拦截器。
  3. 打开 Postman,选择工具栏中的 Interceptor 图标,然后切换到On

然后,您可以浏览您的应用程序或网站,并在请求流入您的 Postman 历史记录时对其进行监控。