不携带请求体
此请求不会包含任何请求体内容
适用于 GET、HEAD、OPTIONS 等方法# 使用 Homebrew (推荐)
brew install curl
# 检查版本
curl --version
# 更新到最新版本
brew upgrade curl
# Ubuntu/Debian
sudo apt update && sudo apt install curl
# CentOS/RHEL/Fedora
sudo yum install curl
# 或者 (Fedora 22+)
sudo dnf install curl
# Arch Linux
sudo pacman -S curl
# Windows 10+ 自带 CURL
curl --version
# 使用 Chocolatey
choco install curl
# 使用 Scoop
scoop install curl
# 手动下载
# 访问: https://curl.se/windows/
# 官方镜像
docker run --rm curlimages/curl:latest --version
# 在容器中使用
docker run --rm curlimages/curl:latest \
https://api.tools.top/users
# 下载源码
wget https://curl.se/download/curl-8.5.0.tar.gz
tar -xzf curl-8.5.0.tar.gz
cd curl-8.5.0
# 配置编译选项
./configure --with-ssl --with-libssh2 --with-nghttp2
# 编译安装
make && sudo make install
# 验证安装
curl --version
# 查看详细版本信息
curl --version
# 查看支持的协议和功能
curl --version | grep -E "(Protocols|Features)"
# 示例输出:
# curl 8.5.0 (x86_64-apple-darwin23.0) libcurl/8.5.0
# Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
# Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL TLS-SRP UnixSockets zstd
-X, --request <method>
指定HTTP方法 (GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS)
-H, --header <header>
添加自定义请求头,支持多个-H参数
-d, --data <data>
发送POST数据,自动设置Content-Type为application/x-www-form-urlencoded
--data-raw <data>
发送原始数据,不进行任何处理
--json <data>
发送JSON数据,自动设置Content-Type为application/json (CURL 7.82+)
-F, --form <name=content>
发送multipart/form-data,支持文件上传
-u, --user <user:password>
HTTP基本认证,用户名:密码
--oauth2-bearer <token>
OAuth 2.0 Bearer Token认证
-A, --user-agent <agent>
设置User-Agent请求头
-e, --referer <URL>
设置Referer请求头
-b, --cookie <data>
发送Cookie数据
-c, --cookie-jar <filename>
保存Cookie到文件
-o, --output <file>
将响应保存到文件
-O, --remote-name
使用远程文件名保存
-w, --write-out <format>
输出传输统计信息
-s, --silent
静默模式,不显示进度条和错误信息
-S, --show-error
与-s配合使用,仍显示错误信息
-f, --fail
HTTP错误时静默失败(不输出错误页面)
-i, --include
在输出中包含响应头
-v, --verbose
详细输出,显示请求和响应过程
--connect-timeout <seconds>
连接超时时间
-m, --max-time <seconds>
整个操作的最大时间
--retry <num>
请求失败时的重试次数
--retry-delay <seconds>
重试之间的延迟时间
--max-redirs <num>
最大重定向次数
-L, --location
跟随重定向
-k, --insecure
跳过SSL证书验证(用于测试环境)