如何在linux中使用curl分别获取http状态代码和内容

时间:2016-12-13 05:33:23

标签: linux curl http-status-codes

我必须使用curl linux实用程序获取一些数据。有两种情况,一种是成功,另一种是成功。如果请求成功,我想将输出保存到文件,如果由于某种原因请求失败,那么错误代码应该只保存到日志文件中。我在www上搜索了很多但是找不到确切的解决方案,这就是为什么我在curl上发布了一个新问题。

2 个答案:

答案 0 :(得分:3)

curl -I -s -L <Your URL here> | grep "HTTP/1.1"

curl + grep是您的朋友,然后您可以根据需要提取状态代码。

答案 1 :(得分:3)

一个选项是使用-w获取响应代码,因此您可以执行类似

的操作
code=$(curl -s -o file -w '%{response_code}' http://example.com/)
if test "$code" != "200"; then
   echo $code >> response-log
else
   echo "wohoo 'file' is fine"
fi