curl用法:获取网站的header头及状态码-阿里云开发者社区

开发者社区> 像教授> 正文

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

简介:
+关注继续查看

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.
1316 0
今日推荐:12个获取手机应用程序设计灵感的网站
  曾经,CSS 画廊非常流行,网页设计师们会定期访问这些网站获取灵感。现在仍然可以方便迅速找到令人兴奋的东西(例如 Dribbble 和 Behance 对设计有很大的帮助)。   对于移动应用程序设计,存在类似的画廊,我相信他们会更加有用。
894 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4616 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
8268 0
+关注
1028
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载