使用 WebSocket 请求

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

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

关于 Socket.IO

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

内容

创建 WebSocket 请求

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

  1. 选择 新建> WebSocket 请求以打开一个新选项卡。(在 Postman 应用程序中,您还可以选择⌘+NCtrl+N。)

    新画面

  2. 在请求选项卡的左上角,为原始 WebSocket 请求选择Raw ,或为Socket.IO请求选择 Socket.IO。

  3. 输入 WebSocket 服务器 URL。WebSocket URL 以ws://或开头wss://

    WebSocket 服务器 URL

  4. 选择连接

  5. 要断开 WebSocket 请求的连接,请选择Disconnect

如果您使用 Postman for Web,则必须使用 Postman Desktop Agent。有关详细信息,请参阅使用 Web 上的 Postman

发送消息

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

WebSocket 消息编辑器

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

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

保存消息

您还可以保存撰写的信息,然后再重新发送。编辑器窗格的右侧是Saved Messages的可折叠窗格。

要保存消息:

  1. 如上所述,编写消息。
  2. 选择保存消息
  3. 消息标题(默认为“新消息”)现在可编辑。输入新标题并按 Return。

要加载已保存的消息:

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

您还可以通过选择撰写消息从“已保存的消息”窗格中创建新消息。编辑图标

要重命名、复制或删除已保存的消息,请选择三个点图标然后选择重命名复制删除

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

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

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

还有一个确认选项;选择后,服务器将确认它已收到消息。

Socket.IO 事件名称

您还可以向 Socket.IO 连接添加参数。在编辑器窗格的左下方,选择+ Arg。编辑器窗格左侧将打开一个侧边栏,添加一个参数和一个用于参数消息的新编辑器窗格。将鼠标悬停在现有参数上并选择x将其删除。查看消息以显示每个参数的消息时,将使用类似的 UI。

Socket.IO 参数

查看消息

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

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

WebSocket 消息

消息显示上方是以下控件:

  • 搜索控件 - 输入搜索词以仅显示包含该词的消息。选择X结束搜索。
  • 消息类型列表 - 选择您是要查看所有消息,还是只查看传入或传出消息。
  • 垃圾箱 - 选择垃圾箱图标以清除所有消息。

为每条消息显示以下内容:

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

在扩展消息中:

  • 选择TextHTMLJSONXML以更改消息的格式。
  • 选择换行以添加或删除换行。
  • 选择显示十六进制转储显示消息以切换消息是否以十六进制或文本显示。
  • 使用搜索控件搜索邮件正文。
  • 将鼠标悬停在行号上并选择箭头以展开或折叠消息块。

WebSocket 消息体

Socket.IO 中的事件监听

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

Socket.IO 请求中消息窗格的左侧是侦听器事件的侦听器面板。要收听新事件,请输入事件名称并选择+以添加它。选择事件旁边的切换开关以打开或关闭该事件的侦听。如果将鼠标悬停在切换按钮上,则可以删除事件侦听器。

Socket.IO 消息体

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

WebSocket 消息体

在建立连接之前,您还可以在编辑器窗格上方的事件选项卡中添加事件。这使您可以为每个事件添加描述,并选择在建立连接时该事件是否会侦听。

在请求和消息中使用变量

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

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

添加请求详细信息

您可以向请求添加详细信息,例如发送其他参数和标头。您还可以配置连接。选择编辑器窗格上方的ParamsHeadersSettings选项卡进行更改。

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

发送参数

Params选项卡上,添加您想要附加到 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. 选择保存

您可以在左侧边栏的Collections选项卡下看到您的收藏和保存的请求:

收藏侧边栏

因为 WebSocket 请求与 HTTP 请求具有不同的特性,所以当它们被添加到集合中时,它会导致集合处于“测试”状态,具有一定的限制。

在这种状态下,一个集合只能包含 WebSocket 请求。它不能包含文件夹或 HTTP 请求,并且您不能将请求移入或移出此类集合。

包含 WebSocket 请求的集合支持使用文档和变量。当前不支持与集合相关的其他功能,例如协作、版本控制或脚本。

记录收集和请求

您可以将文档添加到您的收藏或请求对其进行摘要,并添加您想与他人共享的任何注释或详细信息。还将自动包含请求的 URL、参数、设置和所有已保存消息的文档。

要记录 WebSocket 请求:

  1. 打开请求。
  2. 在上下文栏中选择文档。 文档图标
  3. 编辑图标选择描述旁边的编辑按钮。
  4. 使用Markdown编写您的描述。
  5. 完成后,选择保存以保存您的文档。如果您需要进行更改,只需再次编辑说明即可。

记录集合是类似的,但描述位于集合的概述选项卡上。编辑图标选择描述旁边的编辑按钮,编写摘要,然后选择保存

其他 Socket.IO 笔记

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

WebSocket 请求故障排除

您可以使用控制台来调试 WebSocket 连接的问题。要打开控制台并查看日志消息,请在 Postman 左下方的状态栏中选择控制台。

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