Odpowiedź HTTP – sprawdzenie za pomocą bash’a
Odpowiedź HTTP – linux bash
Jak sprawdzić odpowiedź HTTP w linuxie pod bash’em. Mam plik tekstowy zawierający listę adresów URL, takich jak te:
http://books.google.com http://bing.com/translator http://moz.com
Chcę sprawdzić kody odpowiedzi HTTP tych URL przy użyciu bash i curl. Plik wejściowy z urlami musi być w formacie linuxa. Jeśli nie jest to trzeba go przekonwertować:
tr -d '\r' < dosfile.txt > output.file #zmieniam nazwe mv output.file input.txt
Tu jest skrypt do testowania URL i zapisywania wyników w pliku CSV:
#!/bin/bash rm out.csv i=0 while read LINE do url=$(echo -e ""$LINE"" | sed 's/\"/\\"/g') echo -e $(((++i))) [ $i -lt 1 ] && continue echo -e '"'"$url"'"','"'$(curl -I -g ""$url"" 2>/dev/null | head -n 1 | awk -F" " '{print $2}')'"' >> out.csv done < ./input.txt #input.txt musi być w formacie linux exit 0
…i voila! Gotowe!
Można przerwać skrypt w każdej chwili i powrócić do sprawdzania dalszej listy URL . W 3 linii należy zmienić i=0 na i=111 jeśli przerwałeś na 111 lini pliku wejściowego.