wget传递大json文件报错解决方法
下面shell 第一步获取token, 然后用token给服务端发送json文件, 正常json文件小时下面shell可以正常运行。
#!/bin/bash # access_res=$(curl "http://192.168.1.1:30100/api/v1/ability_sub/external/getToken?appId=d53e9b4083a8577e31dae685305fd032&secret=27766999 0d60d4616a8ae1fd9d6fc114") access_token=$(echo $access_res |cut -d":" -f6 |cut -d"}" -f1|sed s/\"//g) accress_url='curl -i -X POST -H "Content-Type:application/json" -d @/opt/accesstoken/test.json http://192.168.1.1:30202/app-l59q59yp3po2 7l-store/quality/faultOrderQ?'${access_token} echo $accress_url $accress_url
使用curl POST数据时,如果POST的数据大于1024字节,curl并不会直接就发起POST请求。而是会分两步。
1.发送一个请求,header中包含一个Expect:100-continue,询问Server是否愿意接受数据。
2.接受到Server返回的100-continue回应后,才把数据POST到Server。
服务端默认是开启接收json的,这时去掉发送前询问,增加-H "Expect:",如下:
accress_url='curl -i -X POST -H "Expect:" -H "Content-Type:application/json" -d @/opt/accesstoken/test.json http://192.168.1.1:30202/app-l59q59yp3po2 7l-store/quality/faultOrderQ?'${access_toke
这样增加定时任务就可以了