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 -1Puede probar este comando para verificar cualquier URL. El código de estado200 OKsignifica 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
telnetcomandotelnet www.yourURL.com 8080 es el número de puerto.
fuente
Puedes hacer lo siguiente
Sin
ifembargo, las declaraciones no son necesarias, las puse aquí solo para ilustrar el flujo del guión.fuente
./checkURL. Espero que ayude%s\npones 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
pingla URL, eso también le dará una respuestaDonde
-ccontará hasta que expire el tiempo de espera de 5.A la luz de lo que me han aconsejado,
nmappuede funcionar si tiene su paquete instalado en su sistema.curlsería una mejor opción, pero no obstante aquí hay un ejemplo usandonmap:nmap -p 80 -sT www.google.comfuente
pingenvía unICMPmensaje y definitivamente no usa puerto80o443. Además, algunos servidores bloquean las solicitudes de ping, lo que hace que el intento no sea confiable.nmapnuevamente es un paquete no predeterminado en muchos sistemas * nix.curles más común enviado con el sistema base. Aún necesitaría instalarnmappara 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://yourrequiredURIfuente
fuente