#!/bin/bash
checkPort() { #检测http端口是否正常
# 输入一个端口,返回以该端口请求url的http状态码。
# http_code会有3个状态:000=超时,200=正常,其他不正常
# 返回0=超时,1=正常,2=程序错误
url="http://127.0.0.1:"$1"/"
logNotice "检测HTTP端口\t->\t$url"
http_code=`curl -Is -m 10 -w %{http_code} -o /dev/null $url`
if [ $http_code -eq 0 ];then
# 0=超时
logErr "http_code\t->\t$http_code"
logErr "检测结果\t->\t请求超时或端口未打开"
return 0
elif [ $http_code -eq 200 ];then
logSucess "http_code\t->\t$http_code"
logSucess "检测结果\t->\t状态正常"
# 1=200 ok
return 1
else
# 2=程序错误,状态码非200
logErr "http_code\t->\t$http_code"
logErr "检测结果\t->\t应用程序错误"
return 2
fi
}
checkPort 80
echo $?
其中logErr、logSucess、LogNotice是使用了SHELL输出带颜色文本里预先定义的方法,可以输出带颜色文本。
文章链接:https://www.qiansw.com/curl-check-http-status-code.html
码字不易,转载请注明本文出处及文章链接。
最新评论
这个牛
放下欲望,男人从来不醉,充分且必要
勇气、责任、自信、创新,为天下先!
软件即数据,软件即服务,软件即管理,软件就是对人类各种社会活动的仿真和记录。软件很重要,但软件不可能凌驾于业务之上,尤其不可能高人一等。