curl傳遞大json文件報錯解決方法


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

這樣增加定時任務就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM