Skip to content

cURL CLI Flags API

cURL command-line tool common options for sending HTTP requests and transferring data.

1 class · 10 methods

Command-Line Options

10 methods

curl 命令行常用选项,控制请求方法、头、数据、超时等行为。

curl -X <METHOD> <URL>

指定 HTTP 请求方法(GET/POST/PUT/DELETE 等)。

Parameters

NameTypeDescription
METHODstringHTTP 方法,如 POST、PUT、DELETE
URLstring目标 URL

Returns

服务器响应体输出到 stdout

Example

curl
curl -X DELETE https://api.example.com/users/42

# PUT 更新资源
curl -X PUT https://api.example.com/users/42 \
  -H "Content-Type: application/json" \
  -d '{"name":"Bob"}'
curl -H <HEADER> <URL>

添加自定义 HTTP 请求头,可多次使用 -H 添加多个头。

Parameters

NameTypeDescription
HEADERstring头内容,格式 "Name: Value"

Returns

服务器响应体输出到 stdout

Example

curl
curl -H "Authorization: Bearer TOKEN" \
  -H "Accept: application/json" \
  https://api.example.com/me
curl -d <DATA> <URL>

发送请求数据(默认 POST 请求),常用于表单或 JSON 提交。

Parameters

NameTypeDescription
DATAstring请求体数据,可为原始字符串或 @文件路径

Returns

服务器响应体输出到 stdout

Example

curl
# 表单提交
curl -d "name=Alice&age=30" https://api.example.com/users

# JSON 提交(配合 -H)
curl -H "Content-Type: application/json" \
  -d '{"name":"Alice","age":30}' \
  https://api.example.com/users

# 从文件读取数据
curl -d @payload.json https://api.example.com/users
curl -o <FILE> <URL>

将响应体保存到指定文件,而非 stdout。

Parameters

NameTypeDescription
FILEstring输出文件路径,可用 - 表示输出到 stdout

Returns

无 stdout 输出,数据写入文件

Example

curl
curl -o image.png https://example.com/logo.png

# 下载并显示进度
curl -# -o archive.zip https://example.com/file.zip
curl -L <URL>

跟随 HTTP 重定向(3xx 响应)。

Returns

最终目标的响应体输出到 stdout

Example

curl
curl -L https://example.com/redirect

# 限制最大重定向次数
curl -L --max-redirs 5 https://example.com/redirect
curl -I <URL>

只获取响应头(发送 HEAD 请求),不下载响应体。

Returns

响应头输出到 stdout

Example

curl
curl -I https://example.com

# 用 -i 显示响应头+响应体
curl -i https://example.com
curl -u <USER:PASSWORD> <URL>

提供 HTTP 基本认证(Basic Auth)凭据。

Parameters

NameTypeDescription
USER:PASSWORDstring用户名和密码,用冒号分隔;省略密码会提示输入

Returns

认证后的响应体输出到 stdout

Example

curl
curl -u alice:secret https://api.example.com/private

# 只给用户名,交互式输入密码
curl -u alice https://api.example.com/private
curl -k <URL>

跳过 TLS 证书校验(不安全,仅用于自签名证书调试)。

Returns

忽略证书错误后的响应体

Example

curl
curl -k https://self-signed.example.com

# 自签名证书更安全的做法:指定 CA
curl --cacert my-ca.pem https://internal.example.com
curl --retry <NUM> <URL>

请求失败时自动重试指定次数。

Parameters

NameTypeDescription
NUMnumber重试次数

Returns

成功后的响应体,或最终失败时的错误

Example

curl
curl --retry 3 https://api.example.com/flaky

# 重试时延迟递增
curl --retry 5 --retry-delay 2 https://example.com
curl --connect-timeout <SECONDS> <URL>

设置建立连接的超时时间(秒)。

Parameters

NameTypeDescription
SECONDSnumber连接超时秒数(支持小数)

Returns

超时则请求失败并退出

Example

curl
curl --connect-timeout 5 https://example.com

# 同时限制总传输时间
curl --connect-timeout 5 --max-time 30 https://example.com