博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
curl用法:获取网站的header头及状态码
阅读量:6404 次
发布时间:2019-06-23

本文共 1763 字,大约阅读时间需要 5 分钟。

curl命令最常用的方法是使用参数-I 获取域名或IP的header信息,包括HTTP返回状态码,server类型,文本类型,缓存时间等等;监控web服务时也常用此方法判断web服务是否正常;


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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[baby@localhost ~]$ 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过滤第一行,发现出来很多不需要的信息

[baby@localhost ~]$ 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 是沉默,静默模式,意思为不输出进度表或错误信息;

1
2
[baby@localhost ~]$ curl -I -s mofansheng.blog.51cto.com|
grep 
"OK" 
HTTP
/1
.1 200 OK

一条命令取出200的方法:

1
2
[root@yonglinux ~]
# curl -s -w "%{http_code}" -o /dev/null  www.baidu.com
200

其他方法:可以把错误输出定向到系统黑洞里,再进行过滤

1
2
3
4
[baby@localhost ~]$ curl -I mofansheng.blog.51cto.com 2>
/dev/null
|
grep 
"OK" 
HTTP
/1
.1 200 OK
[baby@localhost ~]$ curl -I mofansheng.blog.51cto.com 2>
/dev/null
|
head 
-n1
HTTP
/1
.1 200 OK

本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1704117,如需转载请自行联系原作者

你可能感兴趣的文章
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>
散文分享
查看>>
【Vue】vue.js常用指令
查看>>
NFS学习
查看>>
MySql常用命令总结
查看>>
又一年...
查看>>
文件上传框的美化+预览+ajax
查看>>
Linux VFS
查看>>
ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...
查看>>