Random Project

the script works, please add path support

I added $path_uri so the script can check URL like https://www.example.com/WebService/Service.svc

# ./check_https www.example.com 443 WebService/Service.svc

# my PID
mypid=”$$”
html_tmp=”/tmp/tmp_html.$mypid”
rep_tmp=”/tmp/tmp_rep.$mypid”
add_uri=’https://’
path_uri=”
end_uri=’/’
PORT=”
exit_code=2

if [ $# -lt 1 ]
then
echo “Arguments are missing! Run ./check_https IP_or_DNS port (optional) ”
echo “Eg: ./check_https mywebsite.com”
echo “Eg: ./check_https ::ffff:192.168.1.1 444”
exit 1
fi

if [ $# -gt 1 ]
then
PORT=:$2
fi

# For https://www.example.com/WebService/Service.svc
# path_uri is WebService/Service.svc

if [ $# -gt 2 ]
then
path_uri=:$3
fi

# Give some brain to this script. Detect yourself if we are checking an hostname, an ipv4 or an ipv6

if ipcalc -sc4 $1
then
target=ipv4
else if ipcalc -sc6 $1
then
target=ipv6
else
# we consider here cases in which the passed argument is DNS name
target=DNS
fi
fi

if [ ! “$target” == “ipv6” ]
then
/usr/bin/wget –timeout=10 –no-check-certificate –output-document=$html_tmp -S $add_uri$1$PORT$end_uri$path_uri 2> $rep_tmp
else
/usr/bin/wget –timeout=10 –no-check-certificate –output-document=$html_tmp -S $add_uri[$1]$PORT$$end_uri$path_uri 2> $rep_tmp

fi