curl获取网站的header头及状态码
curl命令最常用的参数就是 -I,仅返回头部信息,使用HEAD请求,获取的结果如下:
root@localhost:~# curl -I http://192.168.100.115 HTTP/1.1 200 OK Server: nginx/1.10.3 (Ubuntu) Date: Tue, 25 Jun 2019 11:43:31 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Wed, 12 Jun 2019 06:36:15 GMT Connection: keep-alive ETag: "5d009d5f-264" Accept-Ranges: bytes
通常我们在监控Web服务的时候,可以根据Web的HTTP状态码来判断Web服务是否工作正常,如果我们使用grep过滤第一行,会发现会输出很多不必要的信息:
root@localhost:~# curl -I http://192.168.100.115 | grep -E 'HTTP|200 OK' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 612 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 HTTP/1.1 200 OK
解决方法一
root@localhost:~# curl -I -s http://192.168.100.115 | grep -E 'HTTP|200 OK' HTTP/1.1 200 OK
-s 是沉默,静默模式,意思为不输出进度表或错误信息;
解决方法二
root@localhost:~# curl -s -w "%{http_code}" -o /dev/null http://192.168.100.115 200
解决方法三
root@localhost:~# curl -I http://192.168.100.115 2>/dev/null|head -n1 HTTP/1.1 200 OK
Web前端开发技术栈浏览器Internet ExplorerChromeFirefoxSafariOperaEdgeNetscape协议HTTP/1.1链接会话授权请求响应HTTP/2压缩打包服务器端推送WebSo ...