cURL:通过URL传输数据的命令行工具库介绍

发布于:2025-05-13 ⋅ 阅读:(6) ⋅ 点赞:(0)


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 --versioncurl -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 格式。


网站公告

今日签到

点亮在社区的每一天
去签到