主页 > 互联网  > 

curl命令详细介绍

curl命令详细介绍
前言

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&param2=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命令详细介绍