curl发送post请求存在变量转义的问题
Swift Lv6

最近在使用 curl 发送post请求的时候,需要带上自定义的变量,示例如下:

1
2
3
4
5
name="Tom"
age=18
msg="my name is ${name}, age is ${age}"
echo ${msg}
curl -X POST "http://xxx.com" -H "Content-Type:application/json" -d "{\"message\":{\"header\":{\"body\":[{\"type\":\"TEXT\",\"content\":\"${msg}\"}]}}"

有几点需要注意:

  • json的key必须是双引号 "content" ,所以使用 \ 进行转义
  • 如果 -d 后面的使用单引号 '{"message": ...}' ,那么必须是 "'${msg}'" 进行转义,但是 msg 里不能有空格等特殊字符,所以建议采用第一点

参考

Powered by Hexo & Theme Keep
Unique Visitor Page View