curl

curl 从主机环境发送 HTTP/HTTPS 请求,显示状态、响应头和正文,可提交方法、数据、Cookie 与 Basic Auth,并能保存响应或在编辑器中打开。

网络版本 1.2.4稳定
lil-terminal

概览

当你需要知道远程端点从服务器侧实际如何响应时使用 curl:可检查 API、重定向、响应头、IPv4/IPv6,也能在没有系统 shell 的情况下保存响应。

请求、响应与执行位置

curl 运行在主机服务器上,而不是本地浏览器中。先从简单 GET 或仅查看响应头开始,再按需加入正文、认证和诊断参数;-k 会明确关闭证书验证。

语法

lil-terminal
curl <url|host|me> [options]

参考

curl me

使用当前主机

curl example.com

发送 GET 请求并显示状态和正文

curl example.com -I

仅显示最终响应头

curl example.com -s [file]

保存响应;省略名称时使用 URL 文件名

curl example.com -X POST -d "a=1"

发送请求正文

-X <method>

设置 HTTP 方法

-d <data>

设置请求正文;默认 POST

-H "Name: value"

添加请求头;可重复指定

-u <user>

通过隐藏密码输入使用 HTTP Basic 身份验证

-c '{"name":"value"}'

从 JSON 对象发送 cookie

-s [file] | -o <file>

将响应保存到主机

-a

追加而非替换;需要 -s-o

-i

包含最终响应头

-I

仅显示最终响应头

-j

以结构化 JSON 显示响应

-edit @edit

在文本编辑器中打开响应正文

-code @code

在代码编辑器中打开响应正文

-t [seconds]

使用 5 秒或 1 到 300 秒的自定义超时

-T

使用 300 秒超时

-4 | -6

cURL 可用时使用 IPv4 或 IPv6

-r

不跟随重定向

-k

允许不安全的 TLS 证书

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

先检查响应头,再保存响应

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install curl
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install curl -m
精确公开版本

安装这个确切的已发布版本。

install curl -v 1.2.4
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade curl
删除模块

删除扩展块,不影响核心和其他模块。

install curl -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

先检查响应头,再保存响应
curl https://example.com -I | curl https://example.com/feed.xml -o sandbox/tmp/feed-copy.xml
HTTP/2 200
content-type: text/html; charset=UTF-8
content-length: 1256

sandbox/tmp/
  feed-copy.xml
发送 GET 请求并显示状态和正文
curl https://example.com
HTTP  200
URL   https://example.com/

<!doctype html>
<html>
<head><title>Example Domain</title></head>
<body>…</body>
</html>
仅显示最终响应头
curl https://example.com -I
HTTP/2 200
content-type: text/html; charset=UTF-8
cache-control: max-age=86000
content-length: 1256
包含最终响应头
curl https://example.com -i
HTTP/2 200
content-type: text/html; charset=UTF-8

<!doctype html>
<html>…</html>
添加请求头;可重复指定
curl https://example.com/api -H "Accept: application/json"
HTTP  200
URL   https://example.com/api

{"status":"ok","service":"example"}
发送请求正文
curl https://example.com/api -X POST -d "name=lil"
HTTP  200
URL   https://example.com/api

{"saved":true,"name":"lil"}
从 JSON 对象发送 cookie
curl https://example.com -c '{"theme":"dark"}'
HTTP  200
URL   https://example.com/

<!doctype html>
<html data-theme="dark">…</html>
将响应保存到主机
curl https://example.com/feed.xml -o sandbox/tmp/feed.xml
sandbox/tmp/
  feed.xml
使用当前主机
curl me
HTTP  200
URL   https://lil.dog/

<!doctype html>
<html>…</html>
在 cURL 可用时使用 IPv4 或 IPv6
curl https://example.com -6
HTTP  200
URL   https://example.com/

<!doctype html>
<html>…</html>
不跟随重定向
curl https://example.com -r
HTTP  200
URL   https://example.com/

<!doctype html>
<html>…</html>
在 cURL 可用时使用 IPv4 或 IPv6
curl https://example.com -4
HTTP/2 200
content-type: application/json
content-length: 128
拒绝不受支持的协议
curl ftp://example.com
URL无效

相关文档

当前公开版本

v1.2.42026-08-11

语言同步

完成 curl 的本地帮助与服务器帮助同步,并加强本地化安全性。