D’abord, créer un fichier urls.txt avec l’ensemble des adresses URL (1 adresse par ligne)
https://site.fr/page-1
https://site.fr/page-2
https://site.fr/page-3
Puis éxécuter :
while read url; do
code=$(curl -s -o /dev/null -w "%{http_code}" -I "$url")
echo "$code $url"
done < urls.txt
Cela renverra :
200 https://site.fr/page-1
301 https://site.fr/page-2
404 https://site.fr/page-3
Si vous souhaitez que les résultats soient stockés dans un fichier CSV structuré, utilisez ce code :
echo "type;code_initial;code_final;url_initiale;url_finale" > urls-resultats.csv
echo "type;code_initial;code_final;url_initiale;url_finale" > urls-resultats.csv
while read -r url; do
[ -z "$url" ] && continue
code_initial=$(curl -s -o /dev/null -w "%{http_code}" -I "$url")
result=$(curl -s -L -o /dev/null -w "%{http_code};%{url_effective}" -I "$url")
code_final=$(echo "$result" | cut -d';' -f1)
url_finale=$(echo "$result" | cut -d';' -f2-)
if [ "$code_initial" -ge 200 ] && [ "$code_initial" -lt 300 ]; then
type="OK"
elif [ "$code_initial" -ge 300 ] && [ "$code_initial" -lt 400 ]; then
type="REDIRECTION"
elif [ "$code_initial" -ge 400 ] && [ "$code_initial" -lt 500 ]; then
type="ERREUR_CLIENT"
elif [ "$code_initial" -ge 500 ] && [ "$code_initial" -lt 600 ]; then
type="ERREUR_SERVEUR"
else
type="AUTRE"
fi
echo "$type;$code_initial;$code_final;$url;$url_finale"
done < urls.txt | sort >> urls-resultats.csv
Laisser un commentaire