curl 命令使用教程：接口调试与下载神器

curl 命令使用教程 curl 是命令行下的 HTTP 万能瑞士军刀：调试接口、下载文件、测网站通不通，都靠它。几乎每个操作系统都预装了 curl。本教程依据 curl 官方文档（everything curl）整理。一、发请求与看响应 curl https://example.com # GET 请求，输出响应体 curl -i https://example.com # 连响应头一起输出 curl -I https://example.com # 只看响应头（HEAD 请求） curl -s https://example.com # 静默模式，不显示进度条 curl -L https://example.com # 跟随 301/302 重定向二、POST 与请求头调试 API 最常用的三条： # POST JSON curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -H "Authorization: Bearer 你的token" \ -d '{"name":"kunkun","age":18}' # 提交表单 curl -d "username=admin&password=123" https://example.com/login -H：添加请求头 -d：请求体（用了 -d 默认就是 POST） -X：显式指定方法（PUT/DELETE 等）三、下载文件 curl -O https://example.com/file.zip # 按原文件名保存 curl -o myname.zip https://example.com/file.zip # 自定义保存名 curl -C - -O https://example.com/big.iso # 断点续传 curl -L -o go.tar.gz https://go.dev/dl/go1.22.0.linux-amd64.tar.gz 大文件配合 -# 可以显示进度条。四、调试利器测一个网站是否可达、耗时多少： curl -o /dev/null -s -w "HTTP %{http_code}，总耗时 %{time_total}s\n" https://example.com 指定 DNS 解析结果（不污染线上就能测试新服务器）： curl --resolve example.com:443:1.2.3.4 https://example.com 带 Cookie、模拟浏览器 UA： curl -b "session=abc123" -A "Mozilla/5.0" https://example.com 五、HTTPS 相关 curl -k https://自签证书站点.com # 跳过证书校验（仅测试用） curl --cacert ca.pem https://内网站点.com # 指定 CA 证书六、总结场景命令测网站通不通 curl -I -L 网址 GET 拿数据 curl 网址 POST JSON -X POST -H "Content-Type: ..." -d '{...}' 下载文件 curl -O -L 网址断点续传 curl -C - -O 网址测耗时 -w "%{time_total}" curl 与 wget 的分工：wget 更专注递归下载，curl 更擅长各种协议的请求构造。调试接口时 curl 是事实标准。