Ich wurde gebeten, ein Shell-Skript zu schreiben, um zu überprüfen, ob eine URL für mein Projekt UP / Working ist oder nicht.
Ich habe versucht, einige Hinweise über das Internet zu finden, aber ich habe immer überprüft, ob die URL existiert oder nicht.
Ich habe es zuerst mit versucht wget
.
wget -S --spider https://genesis-dev.webbank.ssmb.com:21589/gop-ui/app.jsp 2>&1 | awk '/^ /'
if [ $? -ne 0 ]
then echo "Server is UP"
else
echo "Server is down"
fi
Mein nächster Versuch war mit curl
.
curl -ivs https://genesis-dev.webbank.ssmb.com:21589/opconsole-sit/opconsole.html#
if [ $? -ne 0 ]
then echo "Server is UP"
else
echo "Server is down"
fi
Beide überprüfen jedoch die Existenz der URL und nicht die Antwort.
shell
shell-script
scripting
ksh
Akash
quelle
quelle
Antworten:
curl -Is http://www.yourURL.com | head -1
Mit diesem Befehl können Sie eine URL überprüfen. Der Statuscode200 OK
bedeutet, dass die Anforderung erfolgreich war und die URL erreichbar ist.Sie können auch die URL-Verfügbarkeit testen und den Antwortcode mit dem
telnet
Befehl abrufentelnet www.yourURL.com 80
80 ist die Portnummer.
quelle
Sie können Folgendes tun
Die
if
Anweisungen sind jedoch nicht erforderlich, ich habe sie hier nur zur Veranschaulichung des Ablaufs des Skripts abgelegt.quelle
./checkURL
. Hoffe, es hilft%s\n
du da? auf deinen Kommentar? Projektziel? Sie sollten genauer angeben, was Sie erreichen möchten.Folgendes hat bei mir funktioniert ...
Ich habe versucht, was @THUSHI schrieb.
quelle
Wenn Sie
ping
die URL eingeben, erhalten Sie auch eine AntwortWoher
-c
wird gezählt, bis das Timeout von 5 abläuft.In Anbetracht dessen, was mir empfohlen wurde,
nmap
funktioniert es möglicherweise, wenn das Paket auf Ihrem System installiert ist.curl
wäre eine bessere Option, aber trotzdem ist hier ein Beispiel mitnmap
:nmap -p 80 -sT www.google.com
quelle
ping
Sendet eineICMP
Nachricht und benutzt definitiv nicht port80
oder443
. Einige Server blockieren auch Ping-Anfragen, was den Versuch immer noch unzuverlässig macht.nmap
Auch dies ist ein nicht standardmäßiges Paket in vielen * nix-Systemen.curl
wird häufiger mit dem Basissystem ausgeliefert. Sie müssen noch installierennmap
, um etwas zu erreichen, das mit Standard * nix-Tools erreicht werden kann.In den meisten Fällen funktioniert Curl nicht mit https. Wenn Sie überprüfen möchten, ob Sie die Option "Curl - Version" aktivieren , wird die Option https nicht angezeigt. In diesem Fall können Sie die Option unten verwenden
wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI
quelle
quelle