linux 检查curl响应代码和响应主体的条件

42fyovps  于 2023-01-20  发布在  Linux
关注(0)|答案(1)|浏览(129)

我想检查curl响应代码和响应体的条件。响应体包含枚举(成功或失败),我也必须检查它的条件。
所以基本上,我将使用CURL发送请求,如果有错误响应,我将打印错误,如果没有,我将检查响应主体枚举的条件是成功还是失败,如果失败,我将打印错误。
我面临的问题是从响应中提取响应代码和主体,并解析它们。其他答案只显示了如何分别提取响应代码。我希望同时使用它们,而不是分别发送两个请求。我正在考虑在一个变量中提取代码和主体,然后解析它们。代码示例会有所帮助

status_code=$(curl localhost:9090/employee/get/1 -I -w "%{http_code}\n")

谢谢

1hdlvixo

1hdlvixo1#

像这样:

#!/bin/bash

data=$(curl localhost:9090/employee/get/1 -I -w "%{http_code}\n")
status_code=$(awk 'END{print}' <<< "$data")

case "$status_code" in
    4*|5*)
        echo "ERR $status_code" >&2 
    ;;
    2*|3*)
        echo "OK $status_code"
    ;;
    *)
        echo "Not implemented ERR $status_code" >&2
    ;;
esac

相关问题