Linux 使用 curl 发送 POST 请求

1 概述
Curl 是一个命令行实用程序,允许用户创建网络请求。Curl 在 Windows、 Linux 和 Mac 上皆可使用,这使它成为开发人员的首选。


在本文中,我们将解释如何使用 CURL 发出 POST 请求。使用 HTTP POST 方法向远程服务器发送数据。

2 发送一个 POST 请求
命令的形式如下:

curl -X POST [options] [URL]
X 选项,指定与远程服务器通信时将使用哪种 HTTP 请求方法。

请求正文的类型由 Content-Type 设定。

一般来说,POST 请求是通过 HTML 表单发送的。发送到表单的数据通常以 multipart/form-data 或 application/x-www-form-urlencode 类型进行编码。

3 一个简单的 POST 请求
我们从一个简单的例子开始,指定 URL 发出 POST 请求。

curl -X POST http://example.com

注意:如果没有 -X POST,则默认使用 HTTP 协议的 GET 方法。

4 使用 POST 请求发送其他字段
可以使用 POST 请求将数据发送到能处理POST 请求的远程 URL。可以在命令行使用 -d 选项传递数据。

curl -d "firstname=John&lastname=Andrew" -X POST http://example.com

所提供的数据以 & 符号分隔,通常结构为 name = value。使用 -d 选项还会添加一些隐式的 HTTP 头,比如 Content-Type 等。

可以使用 -H a 标志来发送 JSON 数据。下面的命令发送一个带有请求的 JSON 对象。

方式1

curl -d '{json}' -H 'Content-Type: application/json' https://example.com

方式2

curl localhost:3000/api/json -X POST -d '{"hello": "world"}' --header "Content-Type: application/json


5 使用 POST 请求指定 Cookie
一些 Web 应用程序依赖 Cookie 进行身份验证和授权。Curl 命令可以与 cookie 一起使用,验证身份后,访问受限制的资源。可以使用-b 或-cookie 选项来指定 Cookie 数据。

curl --cookie "sadad1321saweqe" -X POST http://example.com

6 使用 curl 发送文件
要使用 curl 发布文件,只需在文件位置前添加@符号。

curl -X POST -F 'image=@/home/user/Downloads/profile.jpg' http://example.com/upload

7 发送 JOSN 数据
Curl 命令最流行的用例之一是使用 JSON 格式进行数据通信。在下面的示例中,我们将 JSON 数据发送到服务器。

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST "http://example.com/data"

或者,将 JSON 数据存在文件中。

8 总结
要查看 cURL 的其他用法,请输入 curl -h 进行查看。

原文链接:https://blog.csdn.net/alexwei2009/article/details/125230019

posted @ 2022-08-16 10:00  王短腿  阅读(13475)  评论(0编辑  收藏  举报