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