curl用法:获取网站的header头及状态码

2023-11-01 10:32

本文主要是介绍curl用法:获取网站的header头及状态码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

curl命令最常用的方法是使用参数-I 获取域名或IP的header信息,包括HTTP返回状态码,server类型,文本类型,缓存时间等等;监控web服务时也常用此方法判断web服务是否正常;

监控web服务,可以使用curl获取网站的header头,查看返回值是否是200 OK,作为判断web服务正常的一个标准;

使用curl -I 可以获取,如果提取第一行信息时,会出现一些不需要的信息,那我们该怎么取呢?

[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 是沉默,静默模式,意思为不输出进度表或错误信息;

[baby@localhost ~]$ curl -I -s mofansheng.blog.51cto.com|grep “OK”
HTTP/1.1 200 OK

一条命令取出200的方法:

[root@linuxidc ~]# curl -s -w “%{http_code}” -o /dev/null www.linuxidc.com
200

其他方法:可以把错误输出定向到系统黑洞里,再进行过滤

[baby@localhost ~] curlImofansheng.blog.51cto.com2>/dev/null|grepOKHTTP/1.1200OK[baby@localhost ] curl -I mofansheng.blog.51cto.com 2>/dev/null|head -n1
HTTP/1.1 200 OK

这篇关于curl用法:获取网站的header头及状态码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/322345

相关文章

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛