curl
是常用的命令行工具,用来请求 Web
服务器。它的名字就是客户端(client
)的 URL
工具的意思。支持通过 HTTP、HTTPS、FTP、SFTP
等协议,进行网络传输。常用于发送 HTTP 请求,获取网页内容,上传或下载文件,以及与 API 的交互。
语法
基础指令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| -A, --user-agent <name> 参数指定客户端的用户代理标头,将 User-Agent <name> 发送到服务器 -b, --cookie <数据|文件> 向服务器发送 Cookie -c, --cookie <文件> 接收 Cookie 并保存文件 -d, --data <数据> 向服务器发送 HTTP POST 数据 -f, --fail HTTP 错误不输出信息 -F, --form <数据> 向服务器发送二进制文件(表单) -h, --help <category> 获取命令帮助 -H, --header <请求头> 携带请求头 -i, --include 打印出服务器回应的 HTTP 响应头信息 -o, --output <文件名> 下载文件,而不是 stdout -O, --remote-name 下载文件,名称为远程文件的文件名 -s, --silent 静默模式,不输出错误和进度信息 -S, --show-error 只输出错误 -T, --upload-file <文件> 将本地文件上传服务器 -u, --user <用户:密码> 提供 基本认证(Basic Authentication)所需的用户名和密码 -v, --verbose 输出整个过程信息 -V, --version 显示版本号 -X, --
|
常见例子
1
| curl https://example.com
|
1
| curl -X POST -d "key=value" https://example.com
|
1
| curl -H "Authorization: Bearer token" https://example.com
|
1 2 3
| curl -b 'foo=bar' https://example.com
curl -b cookies.txt https://www.google.com // 使用 cookie 文件
|
1
| curl -O https://example.com/file.zip
|
1
| curl -F "file=@file.txt" https://example.com/upload
|
1
| curl -i https://example.com
|
1
| curl -v https://example.com
|