|
curl 是一个功能强大的命令行工具,用于在终端中传输数据(支持多种协议,如 HTTP/HTTPS、FTP、SFTP、SCP 等)。它广泛用于测试 API、下载文件、调试网络请求等场景。
基础语法
常用选项详解
1. 请求方法
-X, --request:指定 HTTP 请求方法(默认为 GET)。
- curl -X POST https://api.example.com/data
- curl -X DELETE https://api.example.com/item/1
复制代码 2. 发送数据
-d, --data:发送 POST 请求的表单数据(默认 Content-Type: application/x-www-form-urlencoded)。
- curl -d "name=John&age=30" https://api.example.com/user
复制代码 -H, --header:自定义请求头(如 JSON 数据):
- curl -H "Content-Type: application/json" -d '{"name":"John"}' https://api.example.com/user
复制代码 --data-binary:发送二进制数据(如文件内容):
- curl --data-binary @data.txt https://api.example.com/upload
复制代码 3. 文件下载
-o, --output:将响应保存到文件(指定文件名)。
- curl -o output.html https://example.com
复制代码 -O, --remote-name:使用远程文件名保存文件(从 URL 提取文件名)。
- curl -O https://example.com/images/logo.png # 保存为 logo.png
复制代码 4. 处理重定向
-L, --location:自动跟随重定向(3xx 响应)。
- curl -L https://bit.ly/short-url # 追踪到最终地址
复制代码 5. 认证
-u, --user:基本认证(用户名:密码)。
- curl -u username:password https://api.example.com/protected
复制代码 --oauth2-bearer:Bearer Token 认证:
- curl -H "Authorization: Bearer token123" https://api.example.com
复制代码 6. 调试与详细信息
-v, --verbose:显示详细请求/响应过程(调试神器)。
- curl -v https://example.com
复制代码 -i, --include:在输出中包含响应头。
- curl -i https://example.com # 显示响应头+响应体
复制代码 -I, --head:仅获取响应头(HEAD 请求)。
- curl -I https://example.com # 检查资源是否存在
复制代码 7. 代理设置
-x, --proxy:通过代理服务器发送请求。
- curl -x http://proxy-server:8080 https://example.com
复制代码 8. 忽略 SSL 证书验证
-k, --insecure:跳过 SSL 证书检查(测试环境用)。
- curl -k https://self-signed-cert-site.com
复制代码 9. 限速
--limit-rate:限制下载速度。
- curl --limit-rate 100K -O https://example.com/largefile.zip
复制代码 10. 断点续传
-C, --continue-at:从断点继续下载。
- curl -C - -O https://example.com/bigfile.zip
复制代码 掌握 curl 能极大提升调试效率!可通过 curl --help 或 man curl 查看完整文档。
|
|