linux运维笔记——curl

来源:互联网 发布:网上邻居输入网络凭据 编辑:程序博客网 时间:2024/05/16 08:42

**

1、获取网站返回码

**

[root@Cacti ~]# curl -I www.qq.comHTTP/1.1 200 OKServer: squid/3.4.1Date: Wed, 08 Jul 2015 14:10:36 GMTContent-Type: text/html; charset=GB2312Connection: keep-aliveVary: Accept-EncodingVary: Accept-EncodingExpires: Wed, 08 Jul 2015 14:11:36 GMTCache-Control: max-age=60Vary: Accept-EncodingVary: Accept-EncodingX-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  Speed100 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.comDNS解析时间: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.478time_connect:1.482time_starttransfer:1.487time_total:1.499speed_download:65559.000[root@localhost ~]# 

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

1 0