[英]curl to get response status code and evaluate
嘗試獲取 curl 發布請求的狀態代碼並使用 if 條件檢查狀態代碼 200 與否
for ((i = 1; i <= $max; i++)); do
id=$((id_range + $i))
code= $(curl -s -w "%{http_code}" -o /dev/stderr -X POST $URL -H "Authorization: Basic $AUTH" -H "Content-Type: application/json" -H "Accept: application/json" -d '{
"id": "'$id'",
"name": "tom",
"status": "active",
}'
)
if [ "$code" = "200" ]
then
echo "Employee added : " $code
else
echo "Employee not added : " $code
fi
done
但這對我不起作用,沒有得到狀態碼
如果我不使用 go 獲取狀態代碼 curl 請求有效
for ((i = 1; i <= $max; i++)); do
id=$((id_range + $i))
curl -X POST $URL -H "Authorization: Basic $AUTH" -H "Content-Type: application/json" -H
"Accept: application/json" -d '{
"id": "'$id'",
"name": "tom",
"status": "active",
}'
獲取狀態碼的任何其他更好的選擇
太空——最后的邊界。 =
后面有一個空格,它不應該在那里:
code= $(curl -s -w "%{http_code}" ...)
請注意,shell 在許多地方都對空格敏感,變量賦值就是其中之一。 語法是NAME=[VALUE]
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.