Проверка URL для HTTP кодирует 200

Нажмите Ctrl-Alt-e с командой, используя записанные псевдонимы (готовые к запуску), и Bash развернет ее . Ctrl-Alt-e - привязка по умолчанию для команды readline shell-expand-line .

Каждый раз, когда вы нажимаете Ctrl-Alt-e Bash расширяет один слой псевдонима, нажимайте его несколько раз, пока ваша команда не расширится настолько, насколько вам нужно.

Если ваша Мета клавиша не Alt , замените ее или нажмите Escape Ctrl-e .

Существует также функция alias-expand-line , которая по умолчанию не привязана, а только расширяет псевдонимы.

1
28.12.2014, 13:32
3 ответа

Попробуйте сделать это, используя :

while read url ; do
    ret=$(curl -I -s "$url" -o /dev/null -w "%{http_code}\n")
    ((ret==200)) && echo "$url" >> new_list_URL
done < list_URL

или режим POSIX:

while read url ; do
    ret=$(curl -I -s "$url" -o /dev/null -w "%{http_code}\n")
    [ $ret -eq 200 ] && echo "$url" >> new_list_URL
done < list_URL

Проверка Человек Curl

1
27.01.2020, 23:51

Может быть, это и не лучший способ, но вы можете использовать и этот простой для понимания скрипт оболочки:

while read i
do
wget --spider $i > /dev/null 2>1
if [ $? == 0 ]
then
echo $i >> validlist.txt
fi
done

Запустите этот скрипт оболочки как ./wget_check.sh < urllist.txt , где wget_check.sh - имя скрипта, а urllist.txt - текстовый файл, содержащий URL-адреса.

Этот скрипт в основном выполняет wget --spider против всех URL в списке и добавляет URL в другой файл 'validlist.txt', если URL возвращает правильный ответ 200 OK.

  • Опция --spider будет 'ползать' по URL-адресам и не будет загружать файлы.

  • Вывод не будет произведен, так как вывод будет перенаправлен в /dev/null.

  • Каждая wget вернет ненулевое возвращаемое значение, если не получит ответа 200 OK

0
27.01.2020, 23:51

Я использую это на -вкладыше

time xargs -n 1 -P 20 \
curl -o /dev/null --silent --head --write-out '"%{url_effective}","%{http_code}"\n' \
< "URLs.txt" \
| tee URLs-status_results.csv

И получится красиво URLs-status_results.csvи время на это уйдет.

Проверьте справочные страницыxargsи curl.

0
12.04.2020, 05:33

Теги

Похожие вопросы