Me han pedido que escriba un script de shell Para verificar si una URL está ARRIBA / Funcionando o no para mi Proyecto.
Traté de encontrar algunas sugerencias en Internet, pero lo que obtuve es verificar si la URL existe o no.
Primero lo intenté con 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
Mi siguiente intento fue con 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
Pero, ambos están comprobando la existencia de la URL, no la respuesta.
shell
shell-script
scripting
ksh
Akash
fuente
fuente
Respuestas:
curl -Is http://www.yourURL.com | head -1
Puede probar este comando para verificar cualquier URL. El código de estado200 OK
significa que la solicitud se ha realizado correctamente y se puede acceder a la URL.También puede probar la disponibilidad de URL y obtener el código de respuesta con el
telnet
comandotelnet www.yourURL.com 80
80 es el número de puerto.
fuente
Puedes hacer lo siguiente
Sin
if
embargo, las declaraciones no son necesarias, las puse aquí solo para ilustrar el flujo del guión.fuente
./checkURL
. Espero que ayude%s\n
pones ahí? en tu comentario? ¿Propósito del proyecto? Debería ser más específico de lo que está tratando de lograr.Lo siguiente funcionó para mí ...
Traté de lo que escribió @THUSHI.
fuente
Si usa
ping
la URL, eso también le dará una respuestaDonde
-c
contará hasta que expire el tiempo de espera de 5.A la luz de lo que me han aconsejado,
nmap
puede funcionar si tiene su paquete instalado en su sistema.curl
sería una mejor opción, pero no obstante aquí hay un ejemplo usandonmap
:nmap -p 80 -sT www.google.com
fuente
ping
envía unICMP
mensaje y definitivamente no usa puerto80
o443
. Además, algunos servidores bloquean las solicitudes de ping, lo que hace que el intento no sea confiable.nmap
nuevamente es un paquete no predeterminado en muchos sistemas * nix.curl
es más común enviado con el sistema base. Aún necesitaría instalarnmap
para lograr algo que se puede lograr con las herramientas estándar * nix.La mayoría de las veces curl no funciona en https si desea verificar, puede verificar a través de "curl --version" , no verá la opción https en ese caso, puede usar a continuación
wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI
fuente
fuente