HTTP 请求
创建、发送和存储 HTTP 请求,并熟悉请求页面。
请求是对 API 的一次已存储调用:它的方法、URL、标头、正文、认证和设置,都作为一个文件保存在你的工作区中。本页完整介绍 HTTP 请求。其他类型的请求(GraphQL、gRPC、WebSocket 与 SSE、Socket.IO、MQTT 和 MCP 调用)使用同一个页面,只是标签页不同; 见末尾的请求类型。
创建请求
- 选取 文件 › 新建请求(⌘N)。请求会添加到你在边栏中选中的文件夹里,名为 新建请求,并在标签页中打开。
- 或者点按边栏中 请求 旁边的 + 菜单,然后选取 新建请求。同一个菜单还能创建其他类型的请求和文件夹,以及导入文件。
- 或者在边栏中右键点按某个文件夹,选取 新建请求,直接把请求放进该文件夹。
- 要从 cURL 命令开始,先创建一个请求,再把命令粘贴到 URL 字段中。Echolot 会据此填入方法、URL、标头、正文、认证和设置。 它无法接受的选项会在 URL 栏下方显示为 cURL 备注;点按它们即可查看被略去的内容。
用 编辑 › 重新命名 或在边栏中右键点按请求来重新命名。编辑 › 复制(⌘D)会在旁边生成一份副本。
请求页面

从上到下依次是:
- URL 栏:方法、URL 和 发送。
- 下方的一行:实际将要发送的 URL,其中每个变量都已用当前环境的值填入(机密保持遮蔽);发送之后,右侧还会显示状态、这次交换的时间线和耗时。
- 两个窗格:一侧是请求的标签页,另一侧是响应。
请求的标签页有 文档、标头、参数、正文、认证、变量、测试、脚本 和 设置。有内容的标签页会显示一个圆点或计数, 所以你一眼就能看出某个请求带有三个标头或一个正文。
两个窗格可以左右并排,也可以上下堆叠。选取 视图 › 窗格,在 并排 和 堆叠 之间切换;这个选择会按请求类型分别记住。拖移分隔线可调整窗格大小, 选取 视图 › 窗格 › 重置窗格大小 可恢复默认大小。窗口太窄、容不下并排的两个窗格时,它们会自动堆叠。
方法和 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 与团队协作。
响应一览

发送之后,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 请求 |
要连续发送许多请求,并使用检查和数据文件,请用运行器。

