Ich verwende:
curl -f -s -I "http://example.com" &>/dev/null && echo OK || echo FAIL
-f --fail Scheitern im Hintergrund (überhaupt keine Ausgabe) bei HTTP-Fehlern
-s --silent Stiller Modus
-I --head Nur Dokumentinformationen anzeigen
Notiz:
Je nach Bedarf können Sie auch das "-I" entfernen, da Sie in einigen Fällen ein GET und kein HEAD ausführen müssen
curl -sL -w "%{http_code}\\n" "http://www.google.com/" -o /dev/null
-s
=Stumme cURL-Ausgabe-L
=Weiterleitungen folgen-w
=Benutzerdefiniertes Ausgabeformat-o
=Leitet die HTML-Ausgabe auf/dev/null
um
Beispiel:
[~]$ curl -sL -w "%{http_code}\\n" "http://www.google.com/" -o /dev/null
200
Ich würde wahrscheinlich den \\n
entfernen wenn ich die Ausgabe erfassen würde.
Das gleiche wie @burhan-khalid, aber --connect-timeout 3
hinzugefügt und --max-time 5
.
test_command='curl -sL \
-w "%{http_code}\\n" \
"http://www.google.com:8080/" \
-o /dev/null \
--connect-timeout 3 \
--max-time 5'
if [ $(test_command) == "200" ] ;
then
echo "OK" ;
else
echo "KO" ;
fi