zoukankan      html  css  js  c++  java
  • 使用curl获取网站的http的状态码

    发布: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: $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]

  • 相关阅读:
    python字符串
    Python问题:SyntaxError: Non-ASCII character 'xe2' in file
    windows 运行库与dll文件
    sublime python 配置内容
    sublime ctrl b突然不能用解决方法
    c++ primer 的 textquery 例子。
    虚函数表
    理解各种数据类型和简单类在内存中的存在形式。
    最短路径纯贪心算法。
    中缀表达式生成二叉树
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3456843.html
Copyright © 2011-2022 走看看