curl
用于使用 HTTP、SFTP、SMTP、TELNET 等多种协议传输数据,本文将介绍如何使用 curl 的 POST 请求并发送 JSON 数据。
要使用 curl
发送能在服务器端正确解析的 JSON 数据,我们需要将带有 application/json
值的 Content-Type
请求头添加到请求中。
如下三种方法post json 数据:
-
直接使用要发送的 JSON 数据作为参数
-
在Linux中post JSON数据
curl --header "Content-Type: application/json" \ --request POST \ --data '{"userName":"John","password":"123456"}' \ http://localhost:8080/api/login
-
在Windows中post JSON数据
# Windows 系统上略有不同。JSON 数据不应该使用单引号,使用双引号,并且JSON中的双引号应该被转义 curl --header "Content-Type: application/json" \ --request POST \ --data "{\"userName\":\"John\",\"password\":\"123456\"}" \ http://localhost:8080/api/login
-
-
使用
--json
选项简化命令--json
选项用作这三个选项的快捷方式:-data [arg]
-header "Content-Type: application/json"
-header "Accept: application/json"
curl --json '{"userName":"John","password":"123456"}' http://localhost:8080/api/login
-
使用文件发送 JSON 数据
如果要通过文件发送 JSON 数据,则需要使用带有文件名的
@
参数。# 创建一个包含以下内容的 sample-file.json 文件: { "userName": "John", "password": "123456" }
curl --header "Content-Type: application/json" \ --request POST \ --data-binary @sample-json-file.json \ http://localhost:8080/api/login