curl检测网页的用法

一般网页状态为200都是正常的,还有一种情况是网页做了跳转,这种情况下网页状态码为301,http的head里会有lcation记录跳转的地址

这个方法不太好用,取出来的值后面会带回车键值可以将值输出到文本里就会看到末尾有带回车键值,需要使用tr命令去除,输出的内容也会有多余的查询值,但是后面加上|grep 200|wc -l命令后可以通过统计的值是否等于0来判断也好用

取状态码

curl -i www.baidu.com|grep HTTP|awk '{print $2}'|tr -d '\r'

 使用脚本执行后输出的值会产生以下的问题,就是上面说的一样

取url重定向后的地址

curl -i www.baidu.com|grep Location:|awk '{print  $2}' |tr -d '\r'

以下方法可以直接取到想要的值不会有多余的输出,也不用更改格式什么的,可以直接用来做判断

取状态码

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

-s 选项表示静默模式

-o /dev/null选项表示将输出重定向到/dev/null

-w "%{http_code}"选项表示只输出状态码,除了%{http_code},curl命令还支持其他占位符

-w 选项用于自定义curl命令的输出格式

注意,-w选项只能与-o选项(输出到文件)或-s选项(静默模式)一起使用,否则curl命令将输出状态码以外的其他信息

取url重定向后的地址

curl -s -o /dev/null -w "%{redirect_url}" -I www.baidu.com | tail -n 1

-I 选项表示只获取HTTP头信息

-w "%{redirect_url}"选项表示只输出重定向后的URL

下面展示一下-w的更多用法

%{url_effective}: 输出请求的URL

%{time_total}: 输出请求总时间,包括DNS解析、连接、传输和重定向等时间

%{time_namelookup}: 输出DNS解析时间

%{time_connect}: 输出连接建立时间

%{time_starttransfer}: 输出从请求开始到第一个字节被传输的时间

%{size_download}: 输出下载的数据大小

%{speed_download}: 输出下载速度

-i  输出http head与网页内容

-I 只输出httt head

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值