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

在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

版权声明:著作权归作者所有。

window下用curl,我尝试你的命令,json数据是没问题了,但传入到node中,然后用res响应username却出现了错误:curl: (23) Failed writing body (0 != 22)
自行解决了,我在node中是这样响应请求的:res.end(`注册用户为:${req.body.username}`)。出现错误是,curl中不能用中文作为响应。只要把中文改成英文就OK~
@angelpray,curl: (23) Failed writing body (0 != 22)错误有一种可能是你服务器端还没有发送响应就关闭curl的读取通道了。不知道你怎么自行解决的呢?
中文要看你服务器端和客户端的与编码相关的环境设置,如果编码不匹配,就会导致中文乱码。
相关推荐

在shell脚本使用sftp登陆远程服务执行命令

有时我们需要定期登陆到远程服务器去去执行一些命令,sftp是一个让我们在shell脚本登陆到远程服务器的工具,这里演示一个例子:echo "sftp start" >> ~/logfile.log sftp username@host <<EOF >> ~/lo

Spring Boot集成RabbitMQ发送接收JSON

在Spring Boot 集成RabbitMQ一文中介绍了如何集成RabbitMQ。默认情况下发送的消息是转换为字节码,这里介绍一下如何发送JSON数据。ObjectMapper最简单发送JSON数据的方式是把对象使用ObjectMapper等JSON工具类把对象转换为JSON格式,然后发送。如下:@Autowired private ObjectMapper&nbs

Ruby调用shell脚本总结

Ruby可以使用以下几种方法来执行shell脚本。1、使用反引号``调用shell脚本语法`cmd` 返回命令的结果示例`echo "hello"` 2、内置语法%x( cmd ) 其中%x后面为分隔符,上面使用了(作为分隔符,当遇到收括号即表示命令结束。这些分隔符可以为[,{等。示例%x( echo 'hello' 

Shell:如何在awk脚本里使用变量

在awk里用变量最好的方法是使用-v选项。使用方式awk -v var= 单个变量~]$ v1="变量1" ~]$ awk -v var1="$v1" 'BEGIN {print var1}' 变量1 多个变量使用多个-v var=xxx来接收多个变量~]$&

Linux使用命令行解析JSON数据获取属性值

在Linux有几个办法可以很方便在命令行解析JSON数据jqcurl -s 'http://example.com/api/user' | jq -r '.name' Python使用Python也可以很方便地解析JSON数据Python 2curl -s 'http://example.com/api/us

Linux shell脚本获取命令行的输出

在Linux使用命令替换来获取命令行的输出命令替换格式:$(command) 或者`command` 这里的`为反引号。示例OUTPUT="$(ls -1)" echo "${OUTPUT}" 参考:Bash Reference Manual