提问者:小点点

我可以只打印响应代码吗?


我读了https://superuser.com/questions/272265/getting-curl-to-output-http-status-code。它提到了

curl -i 

将打印HTTP响应代码。curl是否可以只打印HTTP响应代码?是否有通用方法可以获取任何类型请求(如GET/POST/等)的HTTP状态代码?

我在Mac OS High Sierra上使用curl 7.54.0。

感谢您的阅读。


共3个答案

匿名用户

这对我有用:

$  curl -s -w "%{http_code}\n" http://google.com/ -o /dev/null

匿名用户

curl -s -I http://example.org | grep HTTP/ | awk {'print $2'}

输出:<code>200</code>

匿名用户

另一种解决方案:

curl -sI http://example.org | head -n 1 | cut -d ' ' -f 2

通过这种方式,你是:

    获取第一个 HTTP 响应行 (
  1. head -n 1),它必须包含响应 HTTP 版本、响应代码和响应消息(按此顺序),每个行都用空格分隔(如 HTTP 标准中所定义);
  2. 获取此行的 2° 字段(剪切 -d ' ' -f 2),这是状态代码