Есть ли в Linux какая-нибудь утилита для массовой проверки кодов списка URL?

12
E
На сайте с 01.10.2017
Offline
113
#11
Dmitriy_2014 #:
короче я уже просканировал все через wget, все ОК, но все равно спасибо
Вообще странно, что вы про wget сразу не вспомнили. Это основная "рабочая лошадка" при выкачивании сайтов и т.п.


Dmitriy_2014 #:
И curl как я понял просто так из файла список URL не возьмет сама по себе.

Я вам сразу написал: PHP CLI, читаете файл (целиком или построчно) и передаете каждую строку в PHP cURL, результат сохраняете в нужном виде.

Домены на продажу: https://p20.ru/collection/domains-for-sale
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#12
estic #:
Dmitriy_2014 #:Вообще странно, что вы про wget сразу не вспомнили. Это основная "рабочая лошадка" при выкачивании сайтов и т.п.


Я вам сразу написал: PHP CLI, читаете файл (целиком или построчно) и передаете каждую строку в PHP cURL, результат сохраняете в нужном виде.

Да через wget нормально, мне просто посмотреть ответы кодов состояния HTTP по списку URL.

Да я думал что-то простое есть типа как вот на этом сайте - https://coolakov.ru/tools/ping/, скопировал пачку и посмотрел, но там ограничение до 500 URL.
nomarketing
На сайте с 23.09.2009
Offline
189
#13
br.almighty #:
Напряги chatgpt, он тебе напишет любой скрипт, в том числе и для linux для любой оболочки.

При тотальном блэкауэте ты будешь напрягать смотря на прибытый старый журнал плейбоя ржавым гвоздём, в своем деревянном туалете в котором живет паук.

Капитан покидает корабль последним
nomarketing
На сайте с 23.09.2009
Offline
189
#14
Dmitriy_2014 :

Всем привет!

Есть ли в Linux утилита чтобы проверить список из тысяч URL на ответ 200, 404 и т.д. Чтобы можно было из файла со списком большого количества ссылок проверить их какой код ответа у них?

Заранее всем спасибо за ответы!


Можно написать самому

Eddgar #:

В linux полно утилит по умолчанию, их просто комбнировать надо)

Вывести в консоль

или в файл

Так просто ты не проверишь, чтобы всё чётко было : ) так как есть редиректы и так далее.

Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#15
Eddgar #:

В linux полно утилит по умолчанию, их просто комбнировать надо)

Вывести в консоль

или в файл

cat urls.txt | xargs -I {} -P 10 sh -c 'echo "{}: $(curl -s -o /dev/null -w "%{http_code}" "{}")"'
Эта команда работает, но объяснить бы поподробней для новичков таких как я, примерно мы берем вывод из файла, передаем его xargs, xargs передает его sh, интерпретатору shell который выполняет curl для каждой ссылки отбрасывая все и оставляя только код ответа.
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#16
wraithis #:
#!/usr/bin/perl
use warnings;
use strict;
use File::Slurp;
use WWW::Mechanize;
use Try::Tiny;
use WWW::Mechanize::DecodedContent;
use JSON qw(decode_json);
use utf8;
use Data::Dumper qw(Dumper);
#use Net::SSL;
$|=1;

my $m = WWW::Mechanize->new(agent => 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0',cookie_jar => {}, autocheck => 0, stack_depth => 0, ssl_opts => { verify_hostname => 0 });$m->add_header('Accept' => "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");$m->add_header('Accept-Language' => "en-US,en;q=0.5");$m->add_header('Accept-Encoding' => 'gzip, deflate');

my @url = read_file("site.txt");

for (@url){
chomp;
$m->get($_);
print $m->status(); exit;
print $m->decoded_content(); exit;
}
#       write_file( "matched.txt", {append => 1},@a ) ;
# write_file( "d.html", {binmode => ':utf8'}, $m->decoded_content());
# write_file( "d.html", {binmode => ':utf8'}, @dump);

Ого на Perl, ну это жестковато для меня, самое простое это wget, или как у Eddgar’а команда.
Dmitriy_2014
На сайте с 01.07.2014
Offline
344
#17
nomarketing #:
Можно написать самому
Это я уже понял, я думал есть отдельная утилита для этого.
nomarketing
На сайте с 23.09.2009
Offline
189
#18
Dmitriy_2014 #:
Это я уже понял, я думал есть отдельная утилита для этого.

Установи винду, как вариант.

Дело в том что если ты хочешь проверить хорошо на 200 OK, то там не всё так просто,  там нужно будет проверять и после редиректа.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий