Надеюсь это ты пошутил В общем то хз где ошибка у тебя, рабочий вариант ниже... Code: #!/usr/bin/perl use LWP::UserAgent; use HTTP::Cookies; sub in_file { my ($data, $file) = @_; open(OUT, "> ".$file); print OUT "$data\n"; close(OUT); } open(ACCS, 'facebook.txt'); chomp(@acc = <ACCS>); close(ACCS); $acc = shift(@acc); my ($mail, $pass) = $acc =~ /^(.+?):(.+?)$/; my $ua = LWP::UserAgent->new; $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19"); my $cookie_jar = HTTP::Cookies->new(); $ua->cookie_jar($cookie_jar); my $ex = $ua->get('http://www.facebook.com/')->content(); my ($lsd) = $ex =~/name=\"lsd\" value=\"(.*?)\"/; my ($charset_test) = $ex =~/name=\"charset_test\" value=\"(.*?)\"/; $ex = $ua->post('https://www.facebook.com/login.php?login_attempt=1', [ 'charset_test' => $charset_test, 'lsd' => $lsd, 'locale' => 'ru_RU', 'email' => $mail, 'pass' => $pass, 'default_persistent' => '0', 'timezone' => '-240' ], Referer => 'http://www.facebook.com' ); $ex = $ua->get('http://www.facebook.com/')->content(); in_file($ex, 'res.txt');
спс но уже у себя нашел проблему. проблема была в юзер агенте. он из файла блал весь список а не конкретно один. по неосторожности допустил ошибку в коде.
сегодня появилась кака ето не здоровая хе??ня . софт перестал логинится на мейл.ру , снифал вроде нече не поменялось. но везде выкидывает на странице авторизации. перепробовал ~ 20 прокси. и с сотню валидных аков. ефект тот же в браузере норм все. а в софте не работает. подскажите что ха фигня то.. Code: my $resp = $ua->post("https://auth.mail.ru/cgi-bin/auth", [ "Login" => $login, "Domain" => $dom, "Password" => $pass,], Referer => 'http://mail.ru' )->as_string;
и так пробовал. нечего. у них меняется то https://auth.mail.ru/cgi-bin/auth . через пару подключений уже http://e.mail.ru/cgi-bin/auth
Code: sub file_get_contents { local @ARGV = shift; local $/ = undef; <>; } $data = file_get_contents('file.txt');
А если таки со стриктом и без извращений со встроенными переменными PHP: use strict; sub file_get_contents { my ($filename) = @_; open IN, "<", $filename or return undef; my @all = <IN>; #chomp @all; close IN; my $res = join("", @all); return $res; } my $data = file_get_contents('file.txt');
Спасибо за помощь. Хотел еще спросить. Мне подсказали, что в Perl есть сокращенный формат записи цикла фор Но, как я понимаю, обратного способа нет? Т.е. если мне нужен цикл не от 1 до 300, а от 300 до 1, в обратном порядке? Тогда только как обычно писать?
Если по простому, то вроде того: Code: my @numbers = qw/123456789 987654321 112233456 1113366 111112222 345346457 11455551/; for my $entry(@numbers) { my %cnt = map {$_ => 1} split //, $entry; if(scalar keys %cnt == 3) { print $entry, $/; } }
FaceLess, Code: #!/usr/bin/perl @myarray=(A,B,C,1,2,3,4,5,6,7); for($i=0;$i<$#myarray;$i++) { $j=rand(10); $randomnum.=$myarray[$j]; } print $randomnum."\n"; system "pause";