Tester le statut HTTP d’une liste d’URL

Publié le 4 juin 2026

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
Si l'article vous a aidé, vous pouvez m'offrir un café !

A lire ensuite

Cela pourrait vous intéresser

Quelques contenus proches du sujet pour prolonger la lecture.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Un café pour le blog ? Vous aimez ce que vous lisez ici ? Offrez-moi un café.