首页 > Linux命令大全 > curl用法:获取网站的header头及状态码

curl用法:获取网站的header头及状态码

2016年12月14日

curl用法:获取网站的header头及状态码
http://www.codesec.net/view/217688.html
curl命令最常用的方法是使用参数-I 获取域名或IP的header信息,包括HTTP返回状态码,server类型,文本类型,缓存时间等等;监控web服务时也常用此方法判断web服务是否正常;

监控web服务,可以使用curl获取网站的header头,查看返回值是否是200 OK,作为判断web服务正常的一个标准;

使用curl -I 可以获取,如果提取第一行信息时,会出现一些不需要的信息,那我们该怎么取呢?

[[email protected] ~]$ curl -I mofansheng.blog.51cto.com
HTTP/1.1 200 OK
Server: Tengine
Date: Thu, 15 Oct 2015 06:10:17 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=10
Vary: Accept-Encoding
Set-Cookie:phpSESSID=8c0bac037cf2cfd8b87e7dde079eb3bf; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: lastvisit=0%091444889417%09%2Findex.php%3F; expires=Fri, 14-Oct-2016 06:10:17 GMT; path=/; domain=.blog.51cto.com
If-Modified-Since: Sat, 10 Oct 2015 16:00:00 GMT
Load-Balancing: web48
Load-Balancing: web48
使用grep过滤第一行,发现出来很多不需要的信息

[[email protected] ~]$ curl -I mofansheng.blog.51cto.com|grep “OK”
% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0

HTTP/1.1 200 OK

解决方法为:

man curl 查看是否有具体参数可以达到我们需要的结果;

-s/–silent

Silent or quiet mode. Don’t show progress meter or error messages.

-s 是沉默,静默模式,意思为不输出进度表或错误信息;

[[email protected] ~]$ curl -I -s mofansheng.blog.51cto.com|grep “OK”
HTTP/1.1 200 OK
一条命令取出200的方法:

[[email protected] ~]# curl -s -w “%{http_code}” -o /dev/null www.codesec.net
200
其他方法:可以把错误输出定向到系统黑洞里,再进行过滤

[[email protected] ~]$ curl -I mofansheng.blog.51cto.com 2>/dev/null|grep “OK”
HTTP/1.1 200 OK
[[email protected] ~]$ curl -I mofansheng.blog.51cto.com 2>/dev/null|head -n1
HTTP/1.1 200 OK
本文地址:http://www.codesec.net/Linux/2015-11/125325.htm

分类: Linux命令大全 标签:
本文的评论功能被关闭了.