как скачать картинку с сайта и положить её в нужную папку ? как это можно реализовать без wget, curl и т.п
ищи картинку там где запускал скрипт Code: #!/usr/bin/perl use strict; use LWP::Simple; getstore('http://st.pimg.net/tucs/img/cpan_banner.png', 'cpan_banner.png');
PHP: my $ua = new LWP::UserAgent; my $imdata = $ua->get('http://site.com/image.jpg')->content; open(F,'>'.'./image.jpg'); binmode F; print F $imdata; close(F);
Вопрос Пытаюсь залогиниться на зайт, в форме такое поле: Code: <input type='hidden' name='user_key' value="" /> Выше есть небольшой js Code: <script type="text/javascript"> var user_key = hex_md5('78.35.111.90'+':'+navigator.userAgent+':'+navigator.platform+((typeof(screen)!='undefined') ? ':'+screen.width+'*'+screen.height+'*'+(screen.colorDepth ? screen.colorDepth : screen.pixelDepth):'')); </script> Помогите сделать то же самое на Perl
js: Code: var user_key = hex_md5('78.35.111.90'+':'+navigator.userAgent+':' +navigator.platform+((typeof(screen)!='undefined') ? ':'+screen.width+'*'+screen.height+'*'+(screen.col orDepth ? screen.colorDepth : screen.pixelDepth):'')); perl: PHP: use Digest::MD5 qw(md5_hex); my $user_key = md5_hex('78.35.111.90') .':'. 'Mozilla 5.1' .':'. 'Mozilla' .':'. 'undefined' .':';
берется md5 хеш от строки Code: IPadd:UserAgent:Platform(н-р Linux x86_64):1280*1024*24(смотря какие настройки) Учитывая того, что хеш невостанавливаемый значение user_key может исп-ся как защита от бота, но не более.
Всем спасибо Да, я догадывался, что это защита от ботов Вопрос вот еще какой. Если это защита, то по идее, со стороны сервера должен генерироваться точно такой же кей, а потом они должны сравниваться? Или нет, тогда можно вообще тупо лепить рендомный набор символов определенной длины? "смотря какие настройки" - скрипт же не передаёт разрешение экрана, т.е. настройки я должен задать вручную? В любом случае, намек понял, буду дальше копать UPD Допилил. Все работает
есть страница на сайте, там форма. передаю пост-запросом данные в форму, всё нормально. но страница отвечает 302 Moved Temporary, и редиректа не происходит. как его осуществить?
Смотри в заголовках ответа сервера.. Если всё правильно, то должен быть заголовок Location:, парси его значение и переходи по ссылке... Если нет Location, скорее всего запрос сервером блочится, тогда думай, что не нравится серверу..
Code: use LWP::UserAgent; my $ua = LWP::UserAgent->new; push @{ $ua->requests_redirectable }, 'POST';
Всем дорбое утро! Такая ситуация: есть csv файл, в котором оч много всего (мыла, директории где мыла хранятся, пароли, имя, фамилия и тд...). Мне нужно отсортировать только мыла, ну и можно ещё пароли в столбик такого типа: мыло:пароль мыло:пароль и тд и тп.... Сорри, но нету времени просматривать все посты данной темы. турмозят меня вроде только регекспы... вот то что я написал: Code: #!/usr/bin/perl -w use strict; system("clear"); print "\t\t:::::Opening Files::::::\n\n"; my $out = "/path/to/accounts.csv"; my $in = "/path/to/accounts_out.txt"; open (OUT, $out); open (IN, ">>", $in); while (my @linesout = <OUT>){ my $new =~ m//, @linesout; [COLOR=Red]#вот тут у меня траблы[/COLOR] print IN "$new\n"; } close(OUT); close(IN); print "\t\t::::::Files Closed::::::\n\n";
так в том всё и дело, что я не знаю, какие регекспы туда прописать, пробывал разные типа: Code: my $new =~ m/[a-z0-9]\.[a-z0-9]@[a-z]\.[a-z]/; #пробывал так, но хотя это может быть и полным бредом =\ (пока только мыло)
вот так вот выглядят строчки файла [email protected] name.surame domain.com name surname D:\path\to\user1\ p4$$w0rd 0 1 Y 1 1 0 0 0 0 1 0 0 [email protected] 25 RFC822 0 0 0 0 0 1 1 0 0 0 (06/22/2010 15:52) Wed Oct 25 09:24:47 2006 22 1470 [email protected] name.surname domain.com name surname D:\path\to\user2\ passw0rd 0 0 Y 1 1 0 0 0 0 1 0 0 25 RFC822 0 0 0 0 0 1 1 0 0 0 (12/01/2009 11:37) Wed Jun 08 17:51:03 2005 728 4311
Ну типа этого Code: #!/usr/bin/perl -w use strict; use warnings; print "\t\t:::::Opening Files::::::\n\n"; my $in = "/path/to/accounts.csv"; my $out = "/path/to/accounts_out.txt"; open my $IN, '<', $in or die "open() error: $!\n"; open my $OUT, '>>', $out or die "open() error: $!\n"; while (my $line = <$IN>) { chomp $line; my ($email, $passwd) = (split /\s+/, $line)[0, 6]; print $OUT $email, ':', $passwd, "\n"; } close $OUT; close $IN; print "\t\t::::::Files Closed::::::\n\n";