linux运维笔记——curl

**

1、获取网站返回码

**

[root@Cacti ~]# curl -I www.qq.com
HTTP/1.1 200 OK
Server: squid/3.4.1
Date: Wed, 08 Jul 2015 14:10:36 GMT
Content-Type: text/html; charset=GB2312
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Expires: Wed, 08 Jul 2015 14:11:36 GMT
Cache-Control: max-age=60
Vary: Accept-Encoding
Vary: Accept-Encoding
X-Cache: HIT from tianjin.qq.com
[root@Cacti ~]# 

在开头可以看到该网站使用的是http协议,返回码是200,表示OK。自动化网站监控可通过监控该返回码进行网站状态判断

2、通过curl获取web网站的响应时间,相关参数说明:

o:把curl 返回的html、js 等写到/dev/null

[root@localhost ~]# curl -o /dev/null www.baidu.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 94046    0 94046    0     0  14094      0 --:--:--  0:00:06 --:--:-- 7653k
[root@localhost ~]# 

-s : 笔者测试了下似乎是把加参数-o后显示的内容去掉

[root@localhost ~]# curl -o /dev/null -s www.baidu.com
[root@localhost ~]# 

-w : 按照特定格式返回结果

[root@Cacti ~]# curl -o /dev/null -s -w "DNS解析时间:"%{time_namelookup}"\n" www.baidu.com
DNS解析时间:1.250
[root@Cacti ~]#

最后结合使用就可以得到网站响应时间了

[root@localhost ~]# curl -o /dev/null -s -w "time_namelookup:"%{time_namelookup}"\n""time_connect:"%{time_connect}"\n""time_starttransfer:"%{time_starttransfer}"\n""time_total:"%{time_total}"\n""speed_download:"%{speed_download}"\n" http://www.baidu.com 
time_namelookup:1.478
time_connect:1.482
time_starttransfer:1.487
time_total:1.499
speed_download:65559.000
[root@localhost ~]# 

其中,
time_namelookup:DNS解析的时间;
time_connect:建立tcp使用的时间;
time_starttransfer:发出请求到网站返回数据的时间;
time_total:完成请求所用的时间;
speed_download:下载速率,单位是(字节/s)

posted @ 2015-07-08 22:02  Jim.Deng  阅读(252)  评论(0编辑  收藏  举报