我想送從一個shell腳本這個POST請求:捲曲過長的POST請求?
start=&limit=&selectNone=true&importId=111&saveCount=&save=some+keywords+%C3%BCbernehmen&list=7947&list=7983&list=7940&list=7976&list=7953&list=7989&list=7948&list=7984&list=7925&list=7961&toggleAllSelect=on&7947-select=true&7947-id=7947&7983-select=true&7983-id=7983&7940-select=true&7940-id=7940&7976-select=true&7976-id=7976
解決方案,工程:
POSTString="--form selectNone=true --form save=some+keywords%C3%BCbernehmen --form toggleAllSelect=on"
IMPORT_ID="$(curl -s -F username=$1 -F password=$2 --form "[email protected]$3" --form importSource=$4 --form format=formatCSV $5do/ImportPersonsFile | grep 'Import-ID' | grep -Eo '[0-9]{1,10}')" echo "Import-ID: $IMPORT_ID"
duplicates="$(curl -s -F username=$1 -F password=$2 --form "[email protected]$3" --form importSource=$4 --form format=formatCSV $5do/ImportPersonsFile | grep 'Davon Dubletten' | grep -Eo '[0-9]{1,10}<' | grep -Eo '[0-9]{1,10}')"
if [ "$duplicates" -ne 0 ]; then
ids=($(curl -s -F username=$1 -F password=$2 --form "[email protected]$3" --form importSource=asds --form format=formatCSV --form importId=$IMPORT_ID --form limit=9999999 $5do/ImportPersonsEditDuplicates | grep '\-id" v' | grep -Eo '>[0-9]{1,10}<' | grep -Eo '[0-9]{1,10}'))
for id in "${ids[@]}"
do
POSTString="--form selectNone=true --form save=Als+Dublette+%C3%BCbernehmen --form toggleAllSelect=on --form list=$id --form $id-id=$id --form $id-select=true"
curl -s -F username=$1 -F password=$2 --form importId=$IMPORT_ID $POSTString $5do/ImportPersonsEditDuplicates > /dev/null
curl -s -F username=$1 -F password=$2 --form importId=$IMPORT_ID $5do/ImportPersonsFinalise > /dev/null
done
else
echo "no duplicates"
curl -s -F username=$1 -F password=$2 --form importId=$IMPORT_ID $5do/ImportPersonsFinalise > /dev/null
fi
echo "done"
我要的是一個解決方案如下,其中字符串被組裝內的-loop,然後只有一個curl命令用於所有迭代。像這樣的東西,不幸的是沒有工作。
$POSTString="--form selectNone=true --form save=some+keywords+%C3%BCbernehmen --form toggleAllSelect=on"
for id in "${ids[@]}"
do
POSTString="$POSTString --form list=$id --form $id-id=$id --form $id-select=true"
done
curl -s -F username=$1 -F password=$2 --form importId=$IMPORT_ID $POSTString $5do/ImportPersonsEditDuplicates > /dev/null
curl -s -F username=$1 -F password=$2 --form importId=$IMPORT_ID $5do/ImportPersonsFinalise > /dev/null
看看我的答案是否有幫助;切換到數組無論如何是正確的;基於問題的標題,我添加了有關最大值的信息。命令行長度;如果它沒有幫助,請用_what_ly_不起作用更新您的答案,並且_how失敗_。 – mklement0