文章目录
- 1. 什么是 curl?
- 2. 下载与安装 curl
- 3. curl 的常见用法
- 3.1 获取网页内容
- 3.2 下载文件
- 3.3 发送 POST 请求(带表单数据)
- 3.4 发送带 JSON 的 POST 请求
1. 什么是 curl?
cURL(CommandLine URL)是非常强大的开源命令行工具库,用于通过URL传输数据,其功能可以简单地分为:向服务器发送请求(GET、POST、PUT、DELETE 等)、测试和调试 API 接口、下载文件或数据、模拟浏览器或其他客户端行为。curl最新稳定版本为8.13.0(发布于 2025-04-02)。
该工具库支持FTP、FTPS、HTTP、HTTPS、SMTP、Telnet、TFTP等协议,底层使用的是 libcurl库。curl的应用面非常广,包含但不限于汽车、电视机、路由器、打印机、手机、平板电脑、医疗设备、机顶盒等,全球几乎每个使用互联网的人每天都会使用 curl。
2. 下载与安装 curl
打开电脑的命令行,输入 curl --version
或 curl -V
,如果能返回 curl 的版本信息,则已安装 curl 工具。
这里以MacOS为例介绍如何安装curl,如果安装了 Homebrew工具,可以直接通过如下命令安装。
brew install curl
另一种方式是通过源码安装。curl 源码下载地址:https://curl.se/download.html。下相应的 curl-x.x.x.tar.gz
文件,解压后,将终端目录切换到相应的文件夹,运行命令 ./configure --prefix=/usr/local/curl
设置安装目录,接着运行 make
, sudo make install
编译和安装。
3. curl 的常见用法
本小节会给出几个案例演示curl常见的用法,在此之前线介绍下curl命令的一些参数及其含义:
-X
:指定 HTTP 请求的方法,例如 curl -X POST $url
-d
: 发送post请求数据,@file表示来自于文件
-o
: 写文件,将服务器的响应保存成文件
-v
: verbose,打印更详细日志
-s
, --silent
: 关闭一些提示输出,不输出错误和进度信息。
-L
:跟随跳转链接
3.1 获取网页内容
直接在curl
后接一个url地址,将会向该地址发送GET请求,如下命令,会向 https://example.com
发送一个 GET 请求,并在终端输出网页的 HTML 内容。
curl https://example.com
将响应内容保存到 result.json 文件:
curl -o result.json https://api.example.com/data
3.2 下载文件
-O
会使用原文件名保存文件。
curl -O https://example.com/file.zip
3.3 发送 POST 请求(带表单数据)
指定请求方法以及发送的信息。
curl -X POST -d "username=test&password=1234" https://example.com/login
3.4 发送带 JSON 的 POST 请求
curl -X POST -H "Content-Type: application/json" -d '{"name": "Alice"}' https://example.com/api
其中,-H
定义的是请求头内容,“Content-type: application/json” 表示向服务器声明发送的数据类型是 json
格式。