Shell脚本使用curl命令发送JSON数据

时间:2021-07-21 17:43:08

在Linux使用命令行工具curl发送JSON数据需要把content-type设置为“application/json”。

-H "Content-Type: application/json

示例

curl -H "Content-Type: application/json" -X POST -d '{"username":"jack","age":10}' http://example.com/api/user

-H,--header:设置头信息Content-Type为application/json。
-d,--data:添加发送的数据。
-X:指定http请求的方法。如果使用了-d,默认是使用POST,可以省略-X参数。

此外也可以把json数据放在一个文件里。

curl -H "Content-Type: application/json" -X POST -d @user.json http://example.com/api/user

注意:文件前的@不能去掉

Windows

对于windows,-d参数的数据,需要使用双引号,json里的双引号使用反斜杠转义才可以:

curl -H "Content-Type: application/json" -X POST -d "{\"username\":\"jack\",\"age\":10}" http://example.com/api/user