On m'a demandé d'écrire un script shell pour vérifier si une URL est UP / Working ou non pour mon projet.
J'ai essayé de trouver des indices sur Internet, mais tout ce que j'ai obtenu est de vérifier si l'URL existe ou non.
J'ai d'abord essayé avec 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
Ma prochaine tentative était avec 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
Mais, les deux vérifient l'existence de l'URL et non la réponse.
shell
shell-script
scripting
ksh
Akash
la source
la source
Réponses:
curl -Is http://www.yourURL.com | head -1
Vous pouvez essayer cette commande pour vérifier n'importe quel code URL.Status200 OK
signifie que la demande a réussi et que l'URL est accessible.Vous pouvez également tester la disponibilité des URL et obtenir le code de réponse à l'aide de la
telnet
commandetelnet www.yourURL.com 80
80 est le numéro de port.
la source
Vous pouvez effectuer les opérations suivantes
Les
if
déclarations ne sont pas nécessaires si, je les mets ici juste pour illustrer le flux du script.la source
./checkURL
. J'espère que ça aide%s\n
mettez-vous? sur votre commentaire? Objectif du projet? Vous devez être plus précis sur ce que vous essayez d'accomplir.La chose suivante a fonctionné pour moi ....
J'ai essayé de ce que @THUSHI a écrit.
la source
Si vous
ping
l'URL, cela vous donnera également une réponseOù
-c
comptera jusqu'à l'expiration du délai de 5.À la lumière de ce qui m'a été conseillé,
nmap
peut fonctionner si votre package est installé sur votre système.curl
serait une meilleure option, mais néanmoins voici un exemple utilisantnmap
:nmap -p 80 -sT www.google.com
la source
ping
envoie unICMP
message et n'utilise certainement pas le port80
ou443
. Certains serveurs bloquent également les requêtes ping, ce qui rend la tentative non fiable.nmap
est encore un package non par défaut dans de nombreux systèmes * nix.curl
est plus souvent livré avec le système de base. Vous auriez encore besoin d'installernmap
pour réaliser quelque chose qui peut être réalisé avec les outils standard * nix.La plupart du temps, curl ne fonctionne pas sur https si vous voulez vérifier, vous pouvez vérifier via "curl --version", vous ne verrez pas l'option https dans ce cas, vous pouvez utiliser ci-dessous
wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI
la source
la source