J’ai eu besoin de faire rapidement et surtout simplement un script pour avoir le header HTTP d’un fichier d’urls. Dans mon cas le plus simple était de faire un script shell et de lui donner à manger un fichier d’url. Couplé à Curl, on peut simplement avoir une masse de résultats facile à lire.
D’abord la commande curl qui permet d’avoir le header HTTP
curl --header -k https://monsite.fr/page.html HTTP/1.1 410 Gone Date: Wed, 23 Oct 2019 20:32:02 GMT Server: Apache/2.4.25 Content-Type: text/html; charset=iso-8859-1
Ce qui m’intéressait était le code HTTP, donc avec un grep
on peut extraire la ligne qui nous intéresse
curl --header -k https://monsite.fr/page.html | grep HTTP
De fil en aiguille en faisant un script qui lisait un fichier ligne par ligne, et ensuite appliquait la commande ci-dessus, et en insérant le résultat de la commande dans un fichier nous obtenons un fichier de résultats exploitable, voici le script ci-dessous :
#!/bin/bash file="/home/creatissus/url.txt" truncate -s 0 out.txt while IFS= read line do header="$(curl --head -k "$line" | grep HTTP)" echo "$line $header" >> out.txt done <"$file"
Nous obtenons un fichier où chaque ligne est l’url suivi du code HTTP. Pour finir extrayons les ligne contenant le code 404 :
grep 404 url.txt > 404.txt
Et voilà j’espère que cela vous a plu et que ce script vous soit utile.