繁体   English   中英

curl 获取响应状态码并评估

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM