Postman 使用 WebSocket 请求

2023-04-04 10:15 更新

WebSocket 协议提供了一种通过持久连接在客户端和服务器之间交换数据的方法。数据可以在低延迟和低开销的情况下双向传递,并且不会中断连接。WebSockets 提供双向、全双工通信通道,通过单个 TCP 套接字连接在 HTTP 上运行。这意味着服务器可以独立地向客户端发送数据而无需客户端请求,反之亦然。

在 Postman 中,您可以使用服务器创建 WebSocket 请求,并使用它通过 WebSocket 连接发送和接收消息。

关于套接字

除了原始的 WebSocket 连接之外,Postman 还支持 Socket.IO 连接。Socket.IO 是最流行的库之一,它支持客户端和服务器之间的事件驱动、双向、实时通信。它使用 WebSocket 作为其传输层。许多开发人员将 Socket.IO 与 HTTP API 结合使用,而 Postman 使您可以在两种范式之间随意切换。

创建 WebSocket 请求

您可以从 Postman 的侧边栏创建 WebSocket 请求。

  1. 选择 新建 > WebSocket 请求以打开新选项卡。(在 Postman 桌面应用程序中,您还可以选择⌘+N或Ctrl+N。)新画面
  2. 使用请求选项卡中的下拉列表,为原始 WebSocket 请求选择Raw ,或为 Socket.IO 请求选择Socket.IO 。
  3. 输入 WebSocket 服务器 URL。WebSocket URL 以ws://或开头wss://。WebSocket 网址
  4. 选择连接。
  5. 要断开 WebSocket 请求的连接,请选择Disconnect。
如果您使用的是 Postman Web 应用程序,Postman 建议使用 Postman Desktop Agent 以获得最佳体验。有关详细信息,请参阅关于 Postman 代理。

发送信息

建立 WebSocket 连接后,您可以使用编辑器窗格来撰写和发送消息。

WebSocket 消息编辑器

在编辑器的左下角,您可以选择消息的格式:文本、JSON、XML、HTML或二进制。如果选择Binary,则可以选择Base64或Hexadecimal。编辑器根据所选格式突出显示语法。您还可以选择{}来美化 JSON、XML 或 HTML 消息。

撰写完消息后,选择发送。已发送的消息将保留在窗口中,以备您更改并重新发送或保存。

保存信息

您还可以保存撰写的消息,然后稍后重新发送。

要保存消息,请执行以下操作:

  1. 撰写消息(请参阅发送消息)。
  2. 选择保存消息。
  3. 消息标题(默认为“新消息”)是可编辑的。输入新标题并按回车键。

要加载已保存的消息,请执行以下操作:

  1. 打开编辑器窗格旁边的保存的消息窗格。
  2. 选择已保存的消息。它将加载到编辑器窗格中。
  3. 然后您可以发送消息,或对其进行编辑并选择保存消息以保存更改。选择放弃更改以删除它们。

您还可以通过选择 Compose Message从Saved Messages窗格创建新消息。编辑图标

要重命名、复制或删除已保存的消息,请选择更多操作图标 更多操作图标 ,然后选择重命名、复制或删除。

添加 Socket.IO 事件名称和参数

使用 Socket.IO 连接发送事件包括添加事件名称和参数的能力。这使您能够收听特定事件。

对于 Socket.IO 连接,您可以在Send旁边输入要发布的事件名称。如果您选择发送而不输入名称,message将使用默认名称。

如果选择确认选项,服务器将确认它已收到消息。

Socket.IO 事件名称

您还可以向 Socket.IO 连接添加参数。在编辑器窗格中选择+ Arg 。这将打开一个带有新参数的边栏,您可以使用它来添加参数的消息。将鼠标悬停在现有参数上并选择x将其删除。检查每个参数的消息的工作流程是相似的。

Socket.IO 参数

查看消息

消息窗格显示 WebSocket 连接的消息列表,包括传入消息、传出消息和网络消息。

消息窗格的顶部是一个连接详细信息徽章。它显示连接是正在连接、已连接、正在断开还是已断开连接。将鼠标悬停在徽章上以显示有关连接的详细信息。选择徽章旁边的箭头以显示或隐藏消息。

WebSocket 消息

消息窗格具有以下控件:

  • 搜索控件 - 输入搜索词以显示包含该词的消息。选择 关闭图标 结束搜索。
  • 消息类型列表 - 选择是否要查看所有消息,或传入或传出消息。
  • 垃圾桶 - 选择删除图标 删除图标 以清除所有消息。

每条消息显示以下内容:

  • 如果将鼠标悬停在一条消息上,则会显示一个复选框。选中两条消息的复选框,将显示消息之间的时间差。选择取消选择以删除时间显示。 WebSocket 时间差
  • 选择消息旁边的箭头以展开或折叠它。
  • 时间显示为您的当地时间。
  • 如果将鼠标悬停在原始 Socket.IO 消息的时间上,将显示一个信息图标。将鼠标悬停在其上以获取消息的时间、MIME 类型和大小。
  • 如果将鼠标悬停在时间上,还会显示一个复制图标。选择此选项可将消息复制到剪贴板。

在扩展消息中:

  • 选择Text、HTML、JSON或XML以更改消息的格式。
  • 选择换行以添加或删除换行。
  • 选择Show Hexdump或Show Message以十六进制或文本显示消息。
  • 使用搜索控件搜索邮件正文。
  • 将鼠标悬停在行号上并选择箭头以展开或折叠消息块。

WebSocket 消息体

Socket.IO 中的事件监听

在 Socket.IO 中,您可以监听特定事件。Messages窗格将显示已为其添加侦听器的已接收事件。事件将按事件进行颜色编码,以便于查找。

侦听器窗格显示侦听器事件。要收听新事件,请输入事件名称并选择+以添加它。选择事件旁边的开关以打开或关闭该事件的侦听。如果将鼠标悬停在切换按钮上,则可以删除事件侦听器。

Socket.IO 消息体

消息将指示它们是否有多个参数。当您展开消息时,每个参数都会有选项卡。

WebSocket 消息体

在建立连接之前,您还可以在“事件”选项卡中添加事件。这使您能够为每个事件添加描述,并选择是否在建立连接时监听该事件。

在请求和消息中使用变量

您可以在 WebSocket 连接的 URL 或消息正文中使用 Postman 变量。例如,您可以创建一个名为 的变量my_host,将值设置为example.com然后使用 URL ws://{{my_host}}/api/example。如果您{{在 URL 字段或消息编辑器中输入,您可以自动完成您的变量。

有关如何使用变量的更多信息,请参阅使用变量。

添加请求详细信息

您可以向请求添加详细信息,例如发送更多参数和标头。您还可以配置连接。选择Params、Headers或Settings选项卡进行更改。

您无法在连接时更改请求详细信息。您必须在连接之前进行任何更改,或选择断开连接以停止当前连接。

发送参数

在参数选项卡上,添加您想要附加到 WebSocket URL 的任何参数。这类似于在 REST 请求中发送参数。

配置标头

在标头选项卡上,输入您希望随邮件发送的任何标头。这类似于在 REST 请求中配置请求标头。

配置请求设置

可以为您的 WebSocket 请求配置以下设置:

环境描述
客户端版本用于连接服务器的 Socket.IO 客户端版本。(仅限 Socket.IO)
握手路径将捕获的服务器端路径。(仅限 Socket.IO)
握手请求超时握手请求在超时之前将等待多长时间,以毫秒为单位。每次重定向后都会重置。
重新连接尝试断开连接前重新连接尝试的最大次数。
重连间隔重新连接尝试之间的时间间隔(以毫秒为单位)。
最大邮件大小允许的最大消息大小,以兆字节为单位。要接收任何大小的消息,请将其设置为 0。(仅限原始 WebSocket)

保存请求

您可以将 WebSocket 请求保存到一个集合中。这使您能够重用请求,与其他团队成员共享它们,并将文档添加到请求集合中。

要保存请求,请执行以下操作:

  1. 在请求选项卡中选择保存。
  2. 在Save request中的Save to下,选择一个集合,或选择Create collection。(请注意,集合中的 WebSocket 请求存在限制。继续阅读以获取更多信息。)
  3. 如果您要创建新集合,请输入名称并选择创建。
  4. 选择保存。

Postman 会在侧边栏的Collections中显示你的收藏和保存的请求:

收藏侧边栏

由于 WebSocket 请求具有与 HTTP 请求不同的功能,因此当它们被添加到集合中时,它会导致集合处于具有某些限制的 beta 状态。

处于此状态时,集合可以包含 WebSocket 或 gRPC 请求。它不能包含 HTTP 请求。不支持与集合相关的某些功能,例如协作、版本控制或脚本。

记录请求

Postman 会自动为您的每个请求生成文档。文档包括请求的 URL、参数、设置和任何已保存的消息。您还可以添加描述以帮助用户理解和使用该请求。

要查看和编辑 WebSocket 请求的文档,请执行以下操作:

  1. 打开请求。
  2. 文档图标 选择右侧栏中的文档图标 。
  3. 编辑图标 选择描述旁边的编辑图标 。
  4. 使用 Postman 的内置编辑工具编写您的内容。
  5. 完成后,选择保存以保存文档。如果您需要进行更改,可以再次编辑说明。
您还可以向收藏集的概览或收藏夹中的文件夹添加描述。在边栏中选择收藏或文件夹,然后选择描述  旁边的编辑图标。

其他 Socket.IO 说明

Socket.IO 通常使用 WebSockets 作为其传输层,但有时在无法使用 WebSockets 时使用 HTTP“长轮询”作为后备。Postman 不支持 Socket.IO 中的长轮询模式。

WebSocket 请求故障排除

您可以使用控制台调试 WebSocket 连接问题。要打开控制台并查看日志消息,请 在 Postman 页脚中选择控制台图标 控制台。

有关使用控制台的更多信息,请参阅故障排除请求


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号