Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

21.09.2009, 01:03
|
|
Познающий
Регистрация: 22.12.2008
Сообщений: 42
Провел на форуме: 71784
Репутация:
0
|
|
PERL login проблема
просьба поправить кривость в коде [PERL].
цель кода: залогиниться на порнхабе. логин и пас верны.
код ошибок не выдает. вроде пост происходит, но $r->content возвращает пустое место. в чем может быть проблема?
спасибо.
Код:
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;
}
|
|
|

21.09.2009, 02:18
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
наверное в хедере ответа от сервера надо смотреть.
->as_string
99% что там будет "Set-Cookie" и "Location"
|
|
|

21.09.2009, 08:41
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Код:
#!/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;
}
|
|
|

21.09.2009, 12:43
|
|
Познающий
Регистрация: 22.12.2008
Сообщений: 42
Провел на форуме: 71784
Репутация:
0
|
|
работает отлично!
спасибо!
|
|
|

22.09.2009, 18:38
|
|
Познающий
Регистрация: 22.12.2008
Сообщений: 42
Провел на форуме: 71784
Репутация:
0
|
|
хмм...все же есть один нюанс.
нужен контент той страницы, куда попадает юзер после логина.
в посл. варианте $r->content не отдает контент.
просьба помочь по возможности.
|
|
|

22.09.2009, 18:49
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Попробуй добавь в начале
push @{$ua->requests_redirectable}, "POST";
|
|
|

23.09.2009, 00:48
|
|
Познающий
Регистрация: 22.12.2008
Сообщений: 42
Провел на форуме: 71784
Репутация:
0
|
|
хорошая идея.
но не работает (
|
|
|

23.09.2009, 01:00
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Поменяй условие
if ($r->status_line eq '302 Found')
и будет работать
|
|
|

23.09.2009, 17:08
|
|
Познающий
Регистрация: 22.12.2008
Сообщений: 42
Провел на форуме: 71784
Репутация:
0
|
|
2 Kaimi: уже было. работает вроде по факту логина. но контент спарсить не могу. возвращает пустую страницу.
отдельный респект тебе за блог! занимательный ресурс! пиши ещё!
|
|
|

23.09.2009, 17:16
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Код:
#!/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";
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|