你是新手,并想学习如何使用cURL这个多功能命令行工具发送POST请求吗?那么,你来对地方了。下面的文章将向你展示如何完成这个任务。

curl技术是一种看起来简单而强大的技术,其用途如此广泛,以至于您可能在不知情的情况下使用它。实际上,据说每个使用互联网的人都会使用curl,无论是否意识到。从智能手机、电视机、医疗设备、汽车甚至打印机等等,所有这些设备都将curl作为其互联网传输引擎。因此它非常受欢迎,并已安装了超过200亿次。

然而,在应用程序中实际使用时,即使是那些你期望知道如何使用它的开发人员也往往只停留在较低层面上。在本指南中,我将讨论如何利用curl技术发送POST请求。您还将学习如何使用curl工具发送JSON数据和文件。在此之前,请让我们先来了解一下curl的概述。


cURL 概述

cURL 是一个命令行工具和库,用于使用 URL 传输数据。该工具自 1998 年以来一直存在,尽管存在竞争产品,但其使用量仍在不断增加。 cURL 可从命令行使用,并且还为许多流行语言创建了库,以便您可以在脚本中使用它们。它基本上是一种利用互联网的数据传输工具。

该命令行实用工具支持超过 25 种协议,包括 HTTP、HTTPS、SOCKS5、FILE、FTP、SMTP、SMTPS 等。下面是curl python的“Hello World”。

curl https://www.example.com/

上述代码将向 https://www.example.com 发送 get 请求,并将页面内容作为回应。


如何发送 cURL Post 请求指南

curl 工具安装在更高版本的 Windows 上,从 Windows 10 开始,从 Jaguar 开始的 macOS,甚至更高版本的 Linux 发行版。因此,您的计算机上已安装了curl 的更改。如果要验证是否安装,请在命令行中输入“curl”并按回车键。您将在命令行或终端中看到以下打印内容,具体取决于您使用的是 Windows 还是 macOS。

curl: try 'curl --help' or 'curl --manual' for more information

如果看到上面的内容,则表示curl已安装。如果没有,您将看到一条错误消息。如果没有安装,则说明需要安装。前往curl下载页面在您的计算机上安装curl工具。


发送简单的 POST 请求

要发送不发送任何数据的简单 POST 请求,可以使用以下命令。使用的网站是一个示例;您可以使用自己的来尝试一下。

curl -X POST https://example.com/

让我解释一下上面的内容,让您了解我们在这里做了什么。

首先,curl 关键字是不言自明的,告诉命令行该命令是一个curl 命令。

-X 标志用于指定请求方式。如果您检查第一个示例,我们没有包含它,并且请求已通过。这是因为如果不指定,将使用默认的请求方法,即 GET。

POST 用于告诉curl工具要发送的请求是POST请求。如果是 PUT 请求,则该值将是 PUT,同样是 DELETE。

https://example.com/ — 这是 POST 请求将发送到的 URL。

上面是最简单的POST请求形式。在大多数情况下,这只是为了说明。这是因为,在大多数情况下,您会以 JSON 对象甚至文件的形式随请求发送一些数据。我将在下面向您展示如何完成这两项工作。


如何发送带有数据的 POST 请求

如果您想与 POST 请求一起发送数据,则语法稍有变化,因为您需要引入标头标签,然后引入数据标签。下面是执行此操作的语法。

curl -X POST -H "[content type]" -d "[post data]" [options] [URL]

现在,让我们先解释一下上述关键字的含义,然后再举例说明如何使用它们。

您已经知道 —X 标志的含义,也知道curl 和 POST 的含义。

—H是用于指定标头的标头标签。它用于“[内容类型]”和其他响应标头规范。

—d 用于指定与请求一起发送的 JSON 数据。

现在,让我们看一下如何发送包含数据的 POST 请求的示例。

curl -d "user=user1&pass=abcd" -X POST -H 'Content-Type: application/json’ https://example.com/login

正如您在上面看到的,我们发送了用户名 (user) 和密码 (pass),其值为 user1 和密码 abcd。内容类型为 application/json,并在 —H 标志后指定。上面将发送包含数据的 POST 请求。


如何通过 cURL 发送文件

你不仅可以通过cURL发送post数据,它还支持发送文件。令人惊讶的是,这是大量应用程序的一部分。完成此操作的方法非常简单明了,尤其是当文件位于当前路径中时。以下是发送文件的 cURL 命令格式。

curl –form “fileupload=[“filename”]” [“target URL”]

从上面可以看出,您可以在命令行中使用 –form 标志告诉 cURL 您要通过 cURL 发送文件。命令中的文件名是文件名和扩展名的占位符,而目标 URL 是要将文件发送到的 URL。下面是如何构造此命令的示例。

curl --form "[email protected]" https://example.com/resource.cgi

使用上述命令,文件将被发送到目标 URL。


常见问题解答

1. 如何在 Postman 中发送 POST cURL 请求?

Postman是支持cURL的工具之一。如果您有cURL命令,可以在Postman上使用它来配置您的请求。操作方法很简单。复制cURL命令,然后进入Postman软件或Web应用程序(取决于您使用的版本)。从侧边栏中选择导入,并将cURL命令粘贴到提供的空间中,然后点击导入。这将为您创建一个新的请求。检查请求正文和标头,并按照您想要的方式进行调整。

2. 我可以从 Web 浏览器复制 cURL 命令吗?

如果您是一名开发人员,想要复制浏览器发送的请求,可以使用浏览器的开发者工具、cURL和Postman的组合来实现。首先,您应该打开浏览器的开发者工具并转到网络选项卡。仅选择fetch/xhr请求 – 用于本指南目的。您将看到浏览器在幕后发送的请求。选择其中一个请求,并右键单击它。您将看到一个复制选项,在那里有多种复制格式 – 选择复制为cURL。获取已复制的cURL命令并导入以进行操作。

3. 如何在 Python 中使用 cURL?

Python仍然是目前使用最广泛的编程语言之一。如果你是一个Python程序员,想要使用cURL工具有两种可选方法。第一种方法是使用subprocess模块,在Python中运行外部代码。第二种方法更容易,即使用pycURL库与cURL工具进行交互。


结    论

从上面可以看到如何使用cURL工具发送网络请求。上面的指南已经展示了如何仅通过curl关键字和URL发送简单的get请求。然后,它继续展示了如何显式地使用请求方法发送请求。还讨论了如何将数据作为JSON或文件发送post请求。通过上述文章,您应该知道如何使用cURL工具发送网络请求。

这篇文章有用吗?

点击星号为它评分!

平均评分 / 5. 投票数:

到目前为止还没有投票!成为第一位评论此文章。

No more articles