Build precise queries to find exactly what you need
Press ESC to close
@marsteel
Favorites0
Views
Projects0
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
Reviewed 6 years ago