我正在尝试发出POST请求。以下工作没有任何问题;
# Get expected response
curl http://localhost:9020/xxx/xxxx/ -H Content-type:application/json
-H Accept:application/json -d '{"LED":{
"language":"CHINESE"}, "text":"1928年11月22日"}'
但是,如果我尝试设置-d
选项的值,则curl无法将请求提交给服务器。
var="{\"LED\":{ \"language\":\"CHINESE\"}, \"text\":\"1928年11月22日\"}"
# No Response
curl http://localhost:9020/xxx/xxxx/ -H Content-type:application/json
-H Accept:application/json -d $var
任何人都可以解释为什么后者似乎不起作用?我尝试了各种各样的逃脱角色,但也没有运气。
答案 0 :(得分:1)
您需要双引号变量:
curl
如果没有双引号,则值将按空格分割,
并且shell将其解释为+=
的多个附加参数,
但是您需要将该值作为单个参数。
那是双引号会实现的目标。