curl命令详细介绍
- 互联网
- 2025-09-02 16:09:01

前言
curl 是一个功能强大的命令行工具,用于通过 URL 传输数据,支持多种协议(如 HTTP、HTTPS、FTP、FTPS、SCP、SFTP 等)。
一、基本用法1.发送 GET 请求
curl example
默认发送 HTTP GET 请求,返回响应内容到终端
2.保存输出到文件
curl -o output.html example # 保存为指定文件名 curl -O example /file.txt # 保存为远程文件名此命令会将 example /file.txt 文件下载到当前目录,文件名保持为 file.zip。
-o:指定保存文件的名称。
二、请求头与认证 -H:设置请求头信息。自定义请求头
curl -H "Authorization: Bearer token" -H "User-Agent: MyApp" example设置请求头Authorization、User-Agent
三、HTTP 请求方法 指定请求方法-X:指定请求方法,如 GET、POST、PUT、DELETE 等。
curl -X POST example /api # 发送 POST 请求 curl -X PUT example /api # 发送 PUT 请求 curl -X DELETE example /api # 发送 DELETE 请求 发送 POST 数据 -d:用于发送表单数据,常用于 POST 请求。 curl -X POST -d "param1=value1¶m2=value2" http://example /api该命令向 http://example /api 发送一个包含表单数据的 POST 请求。
curl -X POST -H "Content-Type: application/json" -d '{"key1": "value1", "key2": "value2"}' http://example /api -H "Content-Type: application/json":设置请求头,指定请求体的数据类型为 JSON。-d:后面跟上 JSON 格式的数据。 四、文件上传与下载上传文件
curl -F "file=@/path/to/file.jpg" example /upload # 表单上传 curl -T file.txt ftp://example /upload/ # FTP 上传断点续传
curl -C - -O example /large-file.zip-C -
功能说明:-C 选项用于启用断点续传功能。后面的 - 表示让 curl 自动从之前中断的位置继续下载文件。当文件下载过程因网络问题、系统故障或手动中断等原因而暂停后,再次使用带有 -C - 选项的 curl 命令下载同一个文件时,它会尝试从上次中断的位置继续下载,而不是重新开始整个下载过程。工作原理:curl 在下载文件时会记录已经下载的字节数,当再次执行该命令时,它会通过 HTTP 协议的 Range 请求头告知服务器从指定位置开始传输数据,服务器则根据请求返回剩余部分的文件内容。-O
功能说明:该选项用于将服务器响应的内容保存为与远程文件同名的文件。也就是说,curl 会从 URL 中提取文件名,并将下载的数据保存到当前工作目录下,文件名与远程服务器上的文件名一致。示例:对于 URL example /large-file.zip,使用 -O 选项后,下载的文件会被保存为当前目录下的 large-file.zip。 五、处理 Cookies保存 Cookies
curl -c cookies.txt example /login
使用 Cookies
curl -b cookies.txt example /dashboard
六、代理与网络设置通过代理访问
curl -x http://proxy-server:port example超时设置
curl --connect-timeout 10 example # 连接超时 10 秒 curl --max-time 30 example # 最大请求时间 30 秒 七、SSL/TLS 设置忽略证书验证(不安全,仅测试用)
curl -k example
指定客户端证书
curl --cert client.pem --key key.pem example
八、调试与详细信息显示详细请求过程
curl -v example # 显示请求头和响应头
仅显示响应头
curl -I example # 等同于 HEAD 请求
九、其他实用功能限制下载速度
curl --limit-rate 100K -O example /large-file.zip
跟随重定向
curl -L example # 自动跳转
压缩传输(支持 gzip)
curl --compressed example
十、示例场景测试 REST API
curl -X POST -H “Content-Type: application/json” -d ‘{“key”:“value”}’ api.example /data
下载并解压文件
curl -L example /file.tar.gz | tar xz
监控网站状态
curl -s -o /dev/null -w “%{http_code}” example
十一、帮助与文档查看所有选项:
curl --help
完整文档:
man curl
curl 的灵活性使其成为开发者、运维人员的必备工具。通过组合不同选项,可以满足复杂的网络请求需求。
curl命令详细介绍由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“curl命令详细介绍”