просьба поправить кривость в коде [PERL]. цель кода: залогиниться на порнхабе. логин и пас верны. код ошибок не выдает. вроде пост происходит, но $r->content возвращает пустое место. в чем может быть проблема? спасибо. Code: use strict; use LWP::UserAgent; my $user="Atisa"; my $ua = LWP::UserAgent->new; my $r = $ua->get('http://www.pornhub.com'); $r = $ua->post('http://www.pornhub.com/login', [ 'username' => $user, 'password' => "sooper", 'remember_me' => 1 ], 'Referer' => 'http://www.pornhub.com/login'); if($r->content =~ /Sign Out/) { print $user." logged in\n"; } else { print $user." login failed\n"; print "content: ".$r->content; }
наверное в хедере ответа от сервера надо смотреть. ->as_string 99% что там будет "Set-Cookie" и "Location"
Code: #!/usr/bin/perl use strict; use LWP::UserAgent; my $user = "Atisa"; my $ua = LWP::UserAgent->new ('agent' => 'Mozilla/4.0 (compatible; Windows 5.1)'); $ua->cookie_jar ({}); my $r = $ua->post ('http://www.pornhub.com/login', 'Referer' => 'http://www.pornhub.com/login', Content => [ 'username' => $user, 'password' => "sooper", 'remember_me' => 1 ]); if ($r->status_line eq '302 Found') { print $user." logged in\n"; } else { print $user." login failed\n"; print "content: ".$r->content; }
хмм...все же есть один нюанс. нужен контент той страницы, куда попадает юзер после логина. в посл. варианте $r->content не отдает контент. просьба помочь по возможности.
2 Kaimi: уже было. работает вроде по факту логина. но контент спарсить не могу. возвращает пустую страницу. отдельный респект тебе за блог! занимательный ресурс! пиши ещё!
Code: #!/usr/bin/perl use strict; use LWP::UserAgent; my $user = "Atisa"; my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; Windows 5.1)'); $ua->cookie_jar ({}); push @{$ua->requests_redirectable}, "POST"; my $r = $ua->post ('http://www.pornhub.com/login', 'Referer' => 'http://www.pornhub.com/login', Content => [ 'username' => $user, 'password' => "sooper", 'remember_me' => 1 ])->content; if ($r =~ /<div class="success">/) { print $user." logged in\n".$r; } else { print $user." login failed\n"; }