今天在linux中使用curl发送一个post请求时,带有json的数据,在发送时发现json中的变量没有解析出来

如下

curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} http://api.baidu.com

变量没有做解析

原来在shell中,”” ‘还是有很大区别的,

把修改后的curl发送贴出

复制代码

atime=`date -d "$1" +%s`

btime=`date -d "$2" +%s`

curl -i -X POST -H "'Content-type':'application/json'" -d '{"ATime":"'$atime'","BTime":"'$btime'"}' $url

Linux下curl模拟带header的Http请求
https://blog.csdn.net/wheat_ground/article/details/78658601?locationNum=8&fps=1
格式: curl -H “头部内容” http://xxx.123.com
需要注意的是,json数据里变量要用’’括起来

curl -H "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8,en;q=0.6
Authorization:Digest username="admin", realm="UTT", nonce="4bea64239fe34c7d68ececbe053f9eb4", uri="/WANConfig.asp", algorithm=MD5, response="f2b1aed87b72e0e27f2a12647b0d150d", opaque="5ccc069c403ebaf9f0171e9517f40e41", qop=auth, nc=000002c5, cnonce="7f2abdd864b961a5"
Cache-Control:max-age=0
Connection:keep-alive
Cookie:COOKIE=c0a8016400000c00; language=zhcn; utt_bw_rdevType=
Host:192.168.1.1
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" http://192.168.1.1/WANConfig.asp

curl方式执行脚本时传参问题

http://blog.51cto.com/xoyabc/1950743
通常执行发布机上的脚本时习惯使用以下方式:

curl http://example.com/script.sh | bash

若涉及到传入参数时,则可使用

curl http://example.com/script.sh | bash -s arg1 arg2
curl http://example.com/script.sh | bash /dev/stdin arg1 arg2
bash <( curl http://example.com/script.sh ) arg1
文档更新时间: 2020-03-15 03:29   作者:月影鹏鹏