curl傳遞大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
這樣增加定時任務就可以了