2024-02-24 00:21:04 +01:00
|
|
|
#!/bin/bash
|
2024-02-22 21:02:37 +01:00
|
|
|
|
|
|
|
# Script: check_http_status.sh
|
|
|
|
# Descripción: Este script verifica el código de estado HTTP de una o varias URL.
|
|
|
|
# Si se proporciona un archivo de texto como argumento, lee las URL del archivo y muestra
|
|
|
|
# los códigos de estado HTTP de cada una. Si se proporciona una URL directamente como argumento,
|
|
|
|
# muestra el código de estado HTTP de esa URL específica.
|
|
|
|
# Author: Manuel Vergara
|
|
|
|
# Web: https://vergaracarmona.es
|
|
|
|
#
|
|
|
|
|
|
|
|
COLOR_RED='\033[0;31m'
|
|
|
|
COLOR_RESET='\033[0m'
|
|
|
|
|
|
|
|
# Control de salida con Ctrl + C
|
|
|
|
function ctrl_c() {
|
2024-02-24 00:21:04 +01:00
|
|
|
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
|
|
|
|
tput cnorm
|
|
|
|
exit 1
|
2024-02-22 21:02:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# Ctrl+C
|
|
|
|
trap ctrl_c SIGINT
|
|
|
|
|
|
|
|
# Función para verificar el código de estado HTTP de una URL
|
|
|
|
verificar_codigo_estado() {
|
|
|
|
local url="$1"
|
|
|
|
local code_web=$(curl -L --write-out "%{http_code}\n" --silent --output /dev/null "$url")
|
|
|
|
echo "La web $url devuelve el código de error $code_web"
|
|
|
|
}
|
|
|
|
|
|
|
|
# Main
|
|
|
|
if [ "${1##*.}" == "txt" ]; then
|
|
|
|
# Si se proporciona un archivo de texto, leer las URL y verificar los códigos de estado HTTP
|
|
|
|
while read -r line; do
|
|
|
|
verificar_codigo_estado "$line"
|
2024-02-24 00:21:04 +01:00
|
|
|
done <"$1"
|
2024-02-22 21:02:37 +01:00
|
|
|
else
|
|
|
|
# Si se proporciona una URL directamente, verificar el código de estado HTTP
|
|
|
|
verificar_codigo_estado "$1"
|
|
|
|
fi
|