0
設置捲曲後JSON文件同時還採用--data-進行urlencode編碼查詢paramater到REST API
在bash腳本我使用捲曲的JSON文件的內容POST到一個RESTful API在nginx後面的tomcat上運行。
此POST還需要在URL末尾使用3個不同的查詢參數進行基本身份驗證。
while IFS= read -d '' -r file; do
base=$(basename "$file")
datetime=$(find $file -maxdepth 0 -printf "%TY/%Tm/%Td %TH:%TM:%.2TS")
username="vangeeij"
curl -vX POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" \
-u username:password \
-d @"$file" \
"http://192.168.105.10/homeaccess/services/aCStats/uploadData?username=$username&filename=$base" \
--data-urlencode datetime=$datetime
#sudo mv "$file" /home/vangeeij/acserver/resultsOld
done < <(sudo find . -type f -print0)
結果/問題
如可以在從捲曲的輸出中可以看出,該URL不具有附托特他的網址
* Connected to 192.168.105.10 (192.168.105.10) port 80 (#0)
* Server auth using Basic with user 'username'
> POST /homeaccess/services/aCStats/uploadData?username=username&filename=2017_3_1_8_50_RACE.json HTTP/1.1
> Host: 192.168.105.10
的端日期時間=參數問題
什麼是正確的語法來完成我在這裏嘗試。將URL的JSON文件的POST POST參數附加到URL,其中至少有一個是URLEncoded?
應該不是'日期時間= $ datatime'是URL查詢字符串作爲'&日期時間= $ datetime'的一部分,如果你想將它傳遞給服務器? – hcheung
正確..但如前所述,$ datetime需要URLEncoded其他方式它會導致問題做空格和特殊字符。因此試圖利用捲曲函數--data-urlencode。 – DarbyM
好吧,我建議在文件中使用'--trace-ascii my-trace.txt',您將看到捲曲在線上發送的內容。請讓我們看看my-trace.txt,謝謝。 – Aleksandar