curl 是 Linux 中非常强大且常用的命令行工具,主要用于与服务器进行数据传输(支持 HTTP、HTTPS、FTP 等多种协议)。
以下是平时开发和运维中最常用的几个 curl 命令例子,按使用场景分类:
直接请求一个网址,会在终端输出该网页的 HTML 源码或接口返回的数据。
保持原文件名保存(大写 -O):
指定新文件名保存(小写 -o):
使用大写 -I 参数,只获取服务器的 HTTP 响应头信息,不下载网页主体内容。常用于检查网站状态码(如 200, 404, 502 等)。
这是后端开发中最常用的功能,用于模拟表单提交或发送 JSON 数据。
发送普通表单数据:
发送 JSON 数据(带请求头):
-X 指定请求方法,-H 添加请求头,-d 指定发送的数据)如果一个网页设置了重定向,默认情况下 curl 不会自动跳转。加上大写的 -L 参数可以让它跟随跳转。
在测试环境中,经常遇到自签名证书或证书过期导致 curl 报错的情况。使用小写 -k(或 --insecure)可以跳过证书验证。
如果请求出错了,不知道是哪里出了问题,可以使用小写 -v 参数。它会打印出完整的请求头、响应头以及握手过程。
💡 小贴士:
如果想查看所有的参数,可以在终端输入 curl --help 或 man curl 来获取官方帮助文档。