我正在使用curl发起http请求,需要它在返回异常状态码时报错(返回非零),所以我加了“-f”参数。但是这样一来,就不会显示响应体的内容了。返回异常状态码时如何操作curl报错,同时还显示响应体?
我会做什么:
curl -sw '%{http_code}\n' https://example.org/xx | tee >(
hc=$(tail -n1)
case $hc in
5*) echo >&2 "5xx range fatal error $hc" ;;
4*) echo >&2 "4xx range error $hc" ;;
200) true ;;
*) echo >&2 "Not 200 HTTP code $hc" ;;
esac
)