发布:thebaby   来源:net     【  
本文分享一例shell脚本,一个使用curl命令获取网站的httpd状态码的例子,有需要的朋友参考下。本文转自:http://www.jbxue.com/article/curl_http_M1hclL89Ps3f.html
在shell中使用curl命令,取得网站的http状态码。

例子:

复制代码代码示例:
# cat http_status.sh
#!/bin/bash
for i in `cat sites.txt`
do
STATUS_CODE=`curl -o /dev/null -s -w %{http_code} $i`
echo -e "$i:\t$STATUS_CODE"
done

调用示例:

复制代码代码示例:

# cat sites.com
www.baidu.com
www.google.com
www.jbxue.com

# sh http_status.sh
www.baidu.com:        200
www.google.com:       200
www.jbxue.com:   200

附, Shell下curl的使用。
curl是一个访问url的工具,可以用他构造http request报文,且可以解析服务器返回的http response,额外还支持cookie特性,可以用curl完成web浏览器的基本功能。
当然curl还支持HTTPS/FTP/FTPS/TELNET/LDAP等协议。

本文只介绍下curl强大的HTTP功能。

通用语法:
curl [option] [URL...]
在处理URL时其支持类型于SHELL的名称扩展功能,如http://www.jbxue.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html可以生成多个期望的URL

curl的选项功能:
不带任何参数时 curl 将返回指定url中的数据并打印在屏幕上
-o out  将指定curl返回保存为out文件,内容从html/jpg到各种MIME类型文件
-O  按服务器上的名称保存下载的文件
-r/--range  from-to 下载指定range内的数据
-C 在保存文件时进行续传
-A/--user-agent  <ua>  指定发送请求的用户代理,例如:curl -A My-Agent/1.0.0 www.jbxue.com 
-x  ip:port 指定使用的http代理,例如:curl -x 192.168.1.1:8080 www.jbxue.com
-D head.txt  将服务器的返回的header保存为文件,头部的cookie也可被保存,例如:curl -D header.txt www.jbxue.com
-c <file> 保存服务器的cookie文件
-b/--cookie  <name=data>   向服务器提交cookie,若无=则name视为文件名,例如:curl -b cookie.txt www.jbxue.com
-e url  设置引用头的值
-T localfile  向服务器PUT文件 例如:curl -T 1.mp3  www.jbxue.com/upload.php
-d <key=value>  向服务器POST表单数据 例如:curl -d "order=111&count=2" http://www.jbxue.com/buy
-F <key=value> 向服务器POST表单,例如:curl -F "web=@index.html;type=text/html" url.com
如果希望从本地文件中获取表单数据,则在文件名前加@ ,例如:curl -d @data.xml http://www.jbxue.com
若希望从标准输入获取则用curl -d - http://www.jbxue.com
-E cert.pem  指定本地证书
-H <header:value>  为HTTP请求设置任意header及值。如curl -H "Connection:keep-alive" http://www.jbxue.com
-I  构造一个HEAD请求
-X/--request method 用户定义的HTTP请求方法名如 curl -X GET www.baidu.com
--compressed 采用压缩方式接收返回数据
--connect-timeout <s> 设置超时时间
-v 详细输出,包含请求和响应的首部
--retry num
--retry timeo 指定重试的次数和间隔
--tcp-nodelay 打开TCP_NODELAY选项  不进行捎带确认
环境 变量:http_proxy [protocol://]<host>[:port]

使用curl获取网站的http的状态码的更多相关文章

  1. shell+curl监控网站页面(域名访问状态),并利用sedemail发送邮件

    应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...

  2. shell+curl监控网站页面(域名访问状态),并利用sendemail发送邮件

    应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...

  3. 网站建设中HTTP状态码的奥秘

    在网络营销中,站长经常会遇到一些HTTP状态码的问题,不懂HTTP状态码那么做SEO优化就无从谈起,下面是脉凌网络对HTTP状态码总结的一览表. 1xx:请求收到,继续处理 2xx:操作成功收到,分析 ...

  4. 如果axios请求失败,如何获取后端接口返回的状态码及错误信息

    这两天在工作中遇到一个问题,一个请求返回400错误,我需要向用户展示后端返回的错误信息,但是用普通的catch方法只能获取到浏览器返回的400错误提示,不能获取到后端返回的,后经查阅得出下面方法: a ...

  5. curl检查访问网页返回的状态码

    urls=('www.baidu.com' 'mm.yellowurl.cn' 'm.yellowurl.cn' 'http://m.yellowurl.cn/product/a.html'); fo ...

  6. 利用wget 和 curl 监控网站是否正常

    监控网站URL是否正常最常见的方法莫过于wget和curl命令了,这两个命令都是非常强大,参数也非常多,下面列举几个常用的参数. wget  常用命令参数:--spider              ...

  7. 网站建设用的HTTP状态码

    在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...

  8. python(30) 获取网页返回的状态码,状态码对应问题查询

    获取访问网页返回的状态码 html = requests.get(Url) respon = html.status_code 以下内容来自于维基百科:点击查看网页 1xx消息 这一类型的状态码,代表 ...

  9. 常用HTTP状态码和CURL 000问题

      最近在测试CDN服务质量问题,测试过程中返回了一些不同的状态码,当然有一些常用的,也有一些不常用的.最奇葩的是在使用curl命令的时候出现000状态码,问了很多同事,对这个000的反应跟新事物是的 ...

随机推荐

  1. Abap 内表的语法

    ABAP中的内表相当于其他程序设计语言中的二维数组,存储多行结构相同的数据 不同于二维数组,内表在创建后,列结构与列数是固定不变的,而行数是动态增长的  内表支持循环对每行数据进行操作,也支持整体操作 ...

  2. skip-character-set-client-handshake 与 character-set-client-handshake

    my.cnf [mysql] default-character-set = gbk [mysqld] skip-character-set-client-handshake=1 跳过mysql程序起 ...

  3. epoll讲解

    首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象.       不管是文件,还是套接字,还是管道,我们都可以把他们看作流.       之后我们来讨论I ...

  4. 手把手教你使用UICollectionView写公司的项目

    在很多app中都有这样通用的页面,一直没有机会使用UICollectionView,只是简单的看过他的使用方法.今天公司美工出图,使用了他,并且遇到了好多的坑.记录一下过程,不确定使用的方法是不是最优 ...

  5. svn has stoped working

    各种问各种搜  ,看来还得靠自己,,,,下面是解决方案; 如果你出现这种情况,  右键点击svn的选项,就弹出这个框框,,,,点击svn里的哪个选项都是弹出这个框框,,,,重新安装,重启,换各种版本安 ...

  6. Leetcode 242. Valid Anagram(有效的变位词)

    Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = & ...

  7. Html5 audio stop

    //html5 stop audio play function stopPlay(el){ el.pause(); el.currentTime = 0; } 使用: var el = docume ...

  8. JavaScript 零散知识点1 (正则表达式+定时器+hover)

    1.clear:both清楚浮动影响//css中 2.正则表达式 search方法 :指明是否存在相应的匹配,如找到一个返回一个整数值,表明这个匹配距离字符串开始的偏移位置,如果没有找到匹配返回-1f ...

  9. Java中startWith方法的使用!

    今天看Java代码时,看到了字符串有一个方法是startsWith(String str)当时觉得见名之意,很简单吗,然后就自己动手做了一下,没想到发现了一个startsWith()方法的重载,sta ...

  10. IPayablebillItf

    package nc.itf.arap.payablebill; import nc.vo.pub.AggregatedValueObject; import nc.vo.pub.BusinessEx ...