📅  最后修改于: 2023-12-03 14:43:56.451000             🧑  作者: Mango
curl 是一款强大的命令行工具,用于在多个协议间进行数据传输。在 Linux 系统中,curl 可以用来发送或接收数据,支持多种协议,如 HTTP、HTTPS、FTP 等,使用简单方便。
在大多数 Linux 系统中,curl 已经被预装了,可以直接使用。如果未安装,则可以使用以下命令行安装:
Ubuntu/Linux Mint/Debian:
sudo apt-get update
sudo apt-get install curl
CentOS/Fedora/RHEL:
sudo yum install curl
curl 命令的基本使用格式如下:
curl [options] [arguments]
其中,options 和 arguments 可以有多个,具体使用方式可以通过 man curl
查看。下面是一些常用的 options:
-X
:设置 HTTP 请求方法,例如 -X GET
表示使用 GET 方法请求数据。-H
:设置 HTTP 请求头,例如 -H "Content-type:application/json"
表示设置请求头为 JSON 类型。-d
:设置 HTTP 请求 body,例如 -d '{"name":"test","age":20}'
表示发送一个 JSON 数据类型的 body。-w
:设置自定义输出格式,例如 -w "%{http_code}"
表示输出 HTTP 状态码。-o
:设置输出文件,例如 -o output.txt
表示将输出结果保存到 output.txt 文件中。-k
:忽略 HTTPS 的证书验证错误。下面是一些示例:
使用 GET 方法请求百度页面:
curl https://www.baidu.com/
在命令行中输出结果。
使用 POST 方法请求 JSON 类型数据:
curl -X POST -H "Content-type:application/json" -d '{"name":"test","age":20}' https://example.com/api
curl -X POST -H "Content-type:application/x-www-form-urlencoded" -d "name=test&age=20" https://example.com/api
将文件下载到当前目录,命名为 output.txt
:
curl -o output.txt https://example.com/file.txt
输出 HTTP 状态码:
curl -w "%{http_code}" https://example.com/api
使用 -k
参数可以忽略 HTTPS 的证书验证错误:
curl -k https://example.com/
以上是 curl 的一些基本使用方法及示例,更多复杂的用法请查看 man 文档或者参考相关的资料。