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

curl用法:获取网站的header头及状态码相关推荐

  1. php 获取header头信息并显示网址,php 获取远程网址header头信息的方法

    一个用PHP获取远程网址header头信息的方法,这在采集时很有用,他可以让你判断出来,远程文件或网页是否正常,是否是404页 有二种方法, 1.用php的函数get_headers get_head ...

  2. linux curl命令读取页面信息,使用Curl命令获取网站Web服务器类

    Curl是一款用于在网络上传输数据的工具,支持HTTP, HTTPS, FTP, FTPS, TFTP, DICT,TELNET,LDAP等协议.通过curl你既可以将服务器的数据下载下来,也可以将本 ...

  3. python flask 设置 header 响应体、响应头、状态码

    需求场景 在api设计中,基于restful的设计原则,一个http的响应应该包含执行的响应信息以及状态码. 例如:一个错误信息的响应信息应该包含内容以及返回对应的设计错误码. 在flask中如何制定 ...

  4. favicon自动获取_php获取网站favicon.ico图标 api源码 自动获取并添加Favicon图标

    通常情况下,做网站的都会给自己的网站添加一个Icon,浏览器上一长排的标签页,用Icon来区分就显得更加醒目.现在想找一个没有Icon的网站并不好找,可见没有Icon的网站是多么的业余啊." ...

  5. http简介以及常见知识和http请求头,响应头,状态码,内容类型对照表分享(超实用)

    1.http简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

  6. 【Curl】 获取网站下载速率(Bytes/s)

    curl -o /dev/null -s -w %{speed_download} www.baidu.com

  7. 网站301跳转问题的探讨和用法,网站做301跳转的相关问题

    网站301跳转问题的探讨和用法以及网站做301跳转的相关问题 作者:叶涛(华军软件园seo)  相信站长朋友们都对301跳转有一定的了解,知道在网站优化中可以帮助自己,但是有些站长朋友却对如何合理使用 ...

  8. Python 获取网站证书有效期

    Python获取网站证书有效期 Python获取网站证书有效期 python:OpenSSL和ssl python+shell:subprocess和curl Python获取网站证书有效期 由于某些 ...

  9. 获取、设置响应头、设置缓冲区

    获取请求头 获取请求头使用HttpServletRequest对象的getHeader().getHeaders().getHeaderNames().getIntHeader().getDateHe ...

最新文章

  1. 无人驾驶推进时间表及五大技术领域关键节点
  2. 孩子听不进道理怎么办?
  3. uniapp中easycom组件的封装
  4. Java 应用性能调优,可视化工具
  5. 【译】On Path Independence
  6. 总结的linux 基础命令
  7. React类里面能写的东西
  8. 图形学 射线相交算法_计算机图形学中的阴极射线管(CRT)
  9. for in for of区别_这个句型中用介词for还是of?来看看解题技巧
  10. Java学习笔记基础(中)
  11. python算法精解pdf_python算法精解
  12. 宏杉科技摆“擂台”,遍寻天下存储技术高手
  13. 在线uml画图工具网站
  14. java工作了7年很迷茫,一个5年Java程序员的年终总结,献给还在迷茫中的你
  15. 成长笔记之博客统计第一篇
  16. 沧海的孤塔-chimera
  17. 计算机usb接口失灵,电脑usb接口全部失灵
  18. 【转】主板上的电压符号:vdd,vddq,5vsb,3.3sb,vcc3.3,Vdimm
  19. MaximalRectangle
  20. linux 脚本 input,Linux 下通过命令行和脚本开关笔记本触控板和其他输入外设

热门文章

  1. 调优之系统篇--cpu,内存
  2. 入门讲解HTML5的画布功能(1)
  3. rpm包安装mysql5.6
  4. 使用SQLServer 2008的CDC功能实现数据变更捕获
  5. 使用Python脚本批量裁切栅格
  6. 模拟storage copy 功能失败的记录
  7. VBA实现两种方法生成任意概率分布的随机数
  8. Android MarsDaemon实现进程及Service常驻
  9. Spark Machine Learning 03 Spark上数据的获取、处理与准备
  10. 优秀PHP在线教程收集