Echolot
请求

HTTP 请求

创建、发送和存储 HTTP 请求,并熟悉请求页面。

请求是对 API 的一次已存储调用:它的方法、URL、标头、正文、认证和设置,都作为一个文件保存在你的工作区中。本页完整介绍 HTTP 请求。其他类型的请求(GraphQL、gRPC、WebSocket 与 SSE、Socket.IO、MQTT 和 MCP 调用)使用同一个页面,只是标签页不同; 见末尾的请求类型。

创建请求

  • 选取 文件 › 新建请求(⌘N)。请求会添加到你在边栏中选中的文件夹里,名为 新建请求,并在标签页中打开。
  • 或者点按边栏中 请求 旁边的 + 菜单,然后选取 新建请求。同一个菜单还能创建其他类型的请求和文件夹,以及导入文件。
  • 或者在边栏中右键点按某个文件夹,选取 新建请求,直接把请求放进该文件夹。
  • 要从 cURL 命令开始,先创建一个请求,再把命令粘贴到 URL 字段中。Echolot 会据此填入方法、URL、标头、正文、认证和设置。 它无法接受的选项会在 URL 栏下方显示为 cURL 备注;点按它们即可查看被略去的内容。

用 编辑 › 重新命名 或在边栏中右键点按请求来重新命名。编辑 › 复制(⌘D)会在旁边生成一份副本。

请求页面

List products 的请求页面:顶部是 URL 栏,左侧是请求的标签页,右侧是 JSON 响应

从上到下依次是:

  1. URL 栏:方法、URL 和 发送。
  2. 下方的一行:实际将要发送的 URL,其中每个变量都已用当前环境的值填入(机密保持遮蔽);发送之后,右侧还会显示状态、这次交换的时间线和耗时。
  3. 两个窗格:一侧是请求的标签页,另一侧是响应。

请求的标签页有 文档、标头、参数、正文、认证、变量、测试、脚本 和 设置。有内容的标签页会显示一个圆点或计数, 所以你一眼就能看出某个请求带有三个标头或一个正文。

两个窗格可以左右并排,也可以上下堆叠。选取 视图 › 窗格,在 并排 和 堆叠 之间切换;这个选择会按请求类型分别记住。拖移分隔线可调整窗格大小, 选取 视图 › 窗格 › 重置窗格大小 可恢复默认大小。窗口太窄、容不下并排的两个窗格时,它们会自动堆叠。

方法和 URL

点按方法标记,选择 GET、POST、PUT、PATCH、DELETE、HEAD 或 OPTIONS。

在旁边的字段中输入 URL。URL 的任何位置都可以使用 {{variables}},例如 {{baseURL}}/products。输入 {{ 时,会打开一个列表, 列出当前范围内的变量和动态值。变量显示为一个胶囊标记;将指针停留在上面可查看它的值,连按两下可更改它。变量来自 环境、工作区和文件夹。

如果 URL 中有内容无法解析,URL 栏下方的那一行会显示 1 个问题(或相应数量)。点按它可查看缺少哪些变量。无法解析的标记会按原样发送。

当请求读取另一个请求的响应(例如通过 {{$response('auth/sign-in', '$.access_token')}}),而那个请求还没有响应时,这一行会显示 先发送“Sign in”:Echolot 会先发送那个请求,再发送当前请求。

查询参数

参数 标签页把 URL 的查询部分显示为 键 和 值 的行。两者保持同步:编辑某一行,URL 随之改变;在 URL 中输入 ?page=2,就会出现一行。

  • 点按 添加参数 添加一个。
  • 取消勾选某一行即可停止发送它。取消勾选的参数仍保留在请求中,但不再出现在 URL 里。
  • 你在名称或值中输入的 &、# 和空格会自动做百分号编码。

标头

标头 标签页按你设置的顺序列出你设置的标头,名称的大小写保持原样。

  • 点按 添加标头 并输入名称。Echolot 会补全标头名称,并注明每个标头的用途;选定名称后,它还会给出常用的值。
  • 取消勾选某个标头,即可保留它但不发送。
  • 拖移某一行的手柄可调整顺序,也可以右键点按它,选取 上移、下移 或 移除。
  • 点按 批量编辑,以文本形式编辑所有标头,每行一个 Name: value。以 // 开头的行是已关闭的标头。

在你的标头下方,自动生成 列出 Echolot 在发送时添加的内容:由你的认证、正文类型和 Cookie 存储生成的标头,以及每个 HTTP 请求都需要的标头。 它们按实际发出的样子显示,凭据已被遮蔽。将指针停留在某一项上,可查看它的来源。要改为发送你自己的值, 可以添加同名标头,或右键点按该行并选取 替换为我自己的。你自己写的 Authorization 标头会取代 认证 标签页将要添加的那个。

要让 Echolot 不再添加它自己的标头,请在设置标签页中打开 原始模式。

正文、认证和设置

  • 正文:JSON、URL 编码表单和多部分表单、GraphQL、文本、XML、HTML,或一个文件。见请求正文。
  • 认证:Basic、Bearer、API 密钥、OAuth 2.0、AWS 签名等,或沿用文件夹的认证。见认证。
  • 设置:HTTP 版本、重定向、Cookie、TLS、超时和原始模式。见请求设置。
  • 变量:只有这个请求使用的值,以及它从响应中保留的值。见响应捕获。
  • 测试 和 脚本:对响应的检查,以及发送前后运行的 JavaScript。见脚本和测试。
  • 文档:关于这个请求用途的备注,写给你自己和你的团队。

发送和取消

点按 发送,或按 ⌘R。在 URL 字段中按 ↩ 和按 ⌘↩ 同样会发送。菜单栏中的 请求 › 发送 也一样。

请求运行期间,发送 会变成 取消:点按它或按 ⌘. 即可停止。响应在到达时就流入响应窗格,所以在大正文全部到达之前,你就能读到它的开头。

当窗口的环境受保护时,按钮会显示 发送到 Production…(带环境名称),每次发送都会先询问。见受保护的环境。

对当前请求的其他操作在 请求 菜单中:

菜单项快捷键作用
拷贝为 cURL⌥⌘C把请求拷贝为 curl 命令。
生成代码…⌥⌘G把请求显示为代码:cURL、Swift (URLSession)、JavaScript (fetch、axios)、TypeScript (fetch)、Python (requests、httpx)、Go (net/http)、Kotlin (OkHttp)、Java (HttpClient)、C# (HttpClient)、PHP (cURL) 或 Rust (reqwest)。
将交换记录导出为 HAR…把最近一次交换存储为 HAR 文件。
在正文中查找⌘F在响应正文中搜索。

生成代码… 会填入请求的变量。脚本不会运行,机密会原样出现,所以粘贴代码时要留意去向。该面板中的 打开模板文件夹 会显示生成代码所用的模板。

标签页

你打开的每个请求都会在编辑器上方获得一个标签页。

操作方法
下一个标签页标签页 › 显示下一个标签页,⇧⌘]
上一个标签页标签页 › 显示上一个标签页,⇧⌘[
关闭标签页文件 › 关闭标签页,⌘W
重新打开最近关闭的标签页标签页 › 重新打开已关闭的标签页,⇧⌘T

存储

没有“存储”命令:每次编辑都会在你做出修改后片刻自动存入请求的文件,并且每次编辑都可以用 编辑 › 撤销(⌘Z)撤销。关闭标签页或退出时,会等到最后一次编辑写入完成。

如果文件在磁盘上发生了变化,而你还有 Echolot 尚未写入的编辑(例如执行 git pull 之后),会出现一个提示栏,显示 此请求已在磁盘上更改。选取 保留我的版本 可保留你的编辑并写入覆盖该文件,选取 使用文件中的版本 则会放弃你的编辑并载入该文件。见 Git 与团队协作。

响应一览

响应上方的详情卡片:状态 200、耗时、大小、TLS 版本,以及交换每个阶段对应的一条横条

发送之后,URL 栏下方的那一行会显示状态(2xx 为绿色,依此类推)、这次交换各阶段的横条,以及总耗时。将指针停留在这一行上可查看详情:大小、压缩、重定向、检查、TLS、 服务器地址,以及每个阶段花了多长时间。

响应窗格提供正文的多种视图,以及标头、Cookie、原始消息、十六进制视图和线路上的字节。这一行末尾带计数的时钟按钮会打开这个请求更早的响应。见响应。

首次发送之前,响应窗格显示 发送一个 Ping。

请求类型

同一个请求页面可以发送 Echolot 支持的所有协议。从 文件 菜单或边栏的 + 菜单创建。

类型菜单项页面
HTTP新建请求本页
GraphQL新建 GraphQL 请求GraphQL
gRPC新建 gRPC 请求gRPC
WebSocket新建 WebSocket 请求WebSocket 与 SSE
Server-Sent Events新建请求(服务器流式推送事件的 HTTP 请求)WebSocket 与 SSE
Socket.IO新建 Socket.IO 请求Socket.IO
MQTT新建 MQTT 请求MQTT
MCP新建 MCP 调用(边栏 + 菜单)MCP 请求

要连续发送许多请求,并使用检查和数据文件,请用运行器。

本页内容