in

如何使用 cURL 发送 POST 请求

如何使用 cURL 发送 POST 请求

在本教程中,你将学习如何使用cURL发送POST请求。cURL是一个强大的命令行工具,可以通过各种网络协议传输数据,包括HTTP、HTTPS、FTP等。由于POST是HTTP和HTTPS协议的一种请求方法,cURL使发送POST请求变成一个可以在终端中轻松运行的单行命令。


发送POST请求的详细步骤

首先,如果你还没有安装cURL,请安装它。

curl 命令行工具随许多 Linux 发行版和 macOS 提供。它也随 Windows 10 提供,正式从版本 1804 及更高版本开始。您可以通过打开终端并运行以下命令来检查您的计算机是否安装了 curl:

curl --version

您应该看到类似的输出,其中 curl 版本及其发布日期以绿色突出显示:

检查您的计算机是否安装了 curl

如果没有找到curl,你可以自行安装。

Windows

从curl.se/windows下载适用于 Windows 计算机的 curl 。确保选择适合您 PC 架构的文件。

macOS

对于 macOS 计算机,建议使用Homebrew之类的包管理器。安装 Homebrew 后,可以使用它来安装 curl:

brew install curl

Linux

如果您的 Linux 发行版未提供 curl,则可以通过运行 install 命令来安装它。例如,在 Ubuntu 或 Debian 上,打开终端并运行以下命令:

sudo apt install curl

如果您运行的是旧版本的 Windows,或者想要安装替代版本,您可以从官方下载页面下载 curl 。

接下来,请查看下表:

标志 长选项 参数 用途
-X -request POST 指定HTTP方法
-H -header User Agent: Chrome 指定Header内容
-F -form file=@/path/file.jpg 附加表单数据或文件
-u -user username:password 设置凭证
-d -data data 设置请求体数据
-v –verbose 显示请求和响应的详细信息

这张表列出了你将在接下来的几个部分中使用的所有必要的cURL命令行选项。你不需要立即记住所有这些选项,只需简单浏览一下即可。一旦你开始每天使用cURL,它们就会成为你的肌肉记忆的一部分。并且每当你需要时,你可以随时使用–help选项来访问所有可用的cURL选项,包括上面提到的这些选项:

curl --help

使用cURL发送POST请求的基本语法如下:

curl -X POST -d "Hello" https://example.com/api

请注意-X标志后面跟着POST,它告诉cURL使用HTTP协议的POST方法发出请求,-d标志将请求数据设置为Hello并将其发送到网站https://example.com/api。-X标志是命令行选项——request的缩写形式。查看上表,了解各种命令行选项的所有长格式。


指定Content-Type

curl -X POST -H "Content-Type: text/plain" -d "Hello" https://example.com/api

在上面的命令中,有一个额外的-H标志,允许用户通过 cURL 发送自定义 HTTP 请求标头。在这种情况下,通过将Content-Type标头指定为text/plain,你可以让 Web 服务器知道请求正文数据是 TEXT 格式。

与任何HTTP请求一样,使用cURL创建的POST请求也可以具有自定义头。要指定Content-Type标头,必须使用header标志进行设置。


发布 JSON

还可以在请求主体中发送 JSON 数据。你需要做的就是设置适当的Content-Type标头并使用-d标志传递 JSON 数据。cURL 将使用参数中指定的 JSON 数据发出 POST 请求。

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api

发布 XML

与 JSON 类似,你也可以在请求正文中发送 XML。你必须更改请求标头并将其设置为application/xml

curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

通过 POST 发送一个文件/多个文件

要通过 cURL POST 发送文件,须使用-F标志。请注意字母“F”的大写。所有 cURL 标志或命令行选项都区分大小写。

curl -X POST -F "file=@/path/to/img.png" https://example.com/api/upload

如你所见,上述命令正在上传图像文件。在 -F 之后立即给出了图像的文件路径。你还可以使用多个-F标志将多个文件发送到服务器,如下所示:

curl -X POST -F "file=@/path/to/img1.png" -F "file=@/path/to/img2.png" https://example.com/api/upload

发送身份验证凭据

你可以使用-u标志或–user选项指定基本身份验证的用户名和密码。cURL 将根据你的输入自动创建授权标头。

curl -u username:password https://example.com/login

你必须用实际的身份验证凭据替换username和password。另外,不要忘记用你自己的 URL 替换示例 URL。


结    论

cURL 是一个轻量但功能强大的工具,可以从命令行发送 POST 请求。只需一行命令,你就可以轻松传输各种格式的数据,如 JSON、XML 或文件上传。cURL 的简单性和灵活性使其成为开发者的热门选择。尽管它没有图形界面,cURL 仍提供了一种与服务器交互的多功能且高效的方法。无论你是经验丰富的开发者还是完全的初学者,掌握 cURL 都是一项宝贵的技能,它将在你职业生涯的各个阶段为你提供帮助。

Written by 河小马

河小马是一位杰出的数字营销行业领袖,广告中国论坛的重要成员,其专业技能涵盖了PPC广告、域名停放、网站开发、联盟营销以及跨境电商咨询等多个领域。作为一位资深程序开发者,他不仅具备强大的技术能力,而且在出海网络营销方面拥有超过13年的经验。