-O
保存文件、-L
跟随重定向、-H
添加请求头。cURL(Client URL)是一个强大的命令行工具,用于在终端中传输数据,支持HTTP、HTTPS、FTP等30+协议,它被广泛应用于API测试、文件传输、网站监控等场景,以下从基础到进阶详解其用法:
基础语法与常用场景
curl [选项] [URL]
获取网页内容
curl https://example.com
直接返回网页HTML源码
保存文件(-o / -O)
curl -o custom_name.txt https://example.com/file # 自定义文件名 curl -O https://example.com/image.jpg # 保留远程文件名
跟随重定向(-L)
curl -L https://bit.ly/short-link # 自动跳转最终页面
HTTP请求进阶操作
指定请求方法(-X)
curl -X POST https://api.example.com/data curl -X DELETE https://api.example.com/item/123
提交表单数据(-d)
# 普通表单 curl -d "username=admin&password=123" https://login.example.com # JSON格式(需设置Content-Type) curl -d '{"key":"value"}' -H "Content-Type: application/json" https://api.example.com
设置请求头(-H)
curl -H "Authorization: Bearer token123" -H "User-Agent: MyApp/1.0" https://api.example.com
文件传输与下载管理
断点续传(-C -)
curl -C - -O https://example.com/large_file.zip # 中断后恢复下载
FTP文件操作
curl -u user:pass ftp://ftp.example.com/file.txt # 下载 curl -T local_file.txt ftp://ftp.example.com/ # 上传
限制下载速度(–limit-rate)
curl --limit-rate 200k -O https://example.com/large.iso # 限速200KB/s
调试与故障排查
显示详细通信过程(-v)
curl -v https://example.com # 输出请求头/响应头等调试信息
仅显示响应头(-I)
curl -I https://example.com # 检查HTTP状态码和头部
忽略SSL证书验证(-k)
curl -k https://expired-ssl-site.com # 测试环境绕过证书错误(生产环境慎用)
安全认证与代理
基础认证(-u)
curl -u username:password https://auth.example.com
使用代理(-x)
curl -x http://proxy-server:8080 https://example.com
客户端证书(–cert)
curl --cert client.pem --key key.pem https://secure-api.example.com
实用技巧与注意事项
-
批量下载:结合
xargs
下载多个文件echo -e "url1nurl2" | xargs -n1 curl -O
-
超时控制:
--connect-timeout 30
(连接超时)--max-time 60
(整体超时) -
Cookie操作:
-c cookies.txt
保存Cookie-b cookies.txt
发送Cookie -
安全警告:
▶ 敏感数据用-d
时避免明文暴露(建议用环境变量)
▶ 生产环境禁用-k
,确保SSL证书有效
cURL凭借其跨平台、协议支持广泛的特点,成为开发者必备工具,关键命令总结:
| 功能 | 命令示例 |
|—————|—————————–|
| 下载保存文件 | curl -O URL
|
| POST JSON数据 | curl -d @data.json -H "Content-Type: application/json" URL
|
| 调试头部信息 | curl -I URL
|
| 带认证代理访问 | curl -x http://user:pass@proxy:port URL
|
引用说明参考cURL官方文档(curl.se/docs)、Mozilla开发者网络(MDN)的HTTP协议指南,以及RFC 9110(HTTP语义)标准,最佳实践部分依据OWASP安全规范。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/28935.html