HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PERL login проблема
  #1  
Старый 21.09.2009, 01:03
mr.4k
Познающий
Регистрация: 22.12.2008
Сообщений: 42
С нами: 9149618

Репутация: 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;

        }
 
Ответить с цитированием

  #2  
Старый 21.09.2009, 02:18
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 2399


По умолчанию

наверное в хедере ответа от сервера надо смотреть.
->as_string
99% что там будет "Set-Cookie" и "Location"
 
Ответить с цитированием

  #3  
Старый 21.09.2009, 08:41
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 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;
}
 
Ответить с цитированием

  #4  
Старый 21.09.2009, 12:43
mr.4k
Познающий
Регистрация: 22.12.2008
Сообщений: 42
С нами: 9149618

Репутация: 0
По умолчанию

работает отлично!
спасибо!
 
Ответить с цитированием

  #5  
Старый 22.09.2009, 18:38
mr.4k
Познающий
Регистрация: 22.12.2008
Сообщений: 42
С нами: 9149618

Репутация: 0
По умолчанию

хмм...все же есть один нюанс.
нужен контент той страницы, куда попадает юзер после логина.
в посл. варианте $r->content не отдает контент.

просьба помочь по возможности.
 
Ответить с цитированием

  #6  
Старый 22.09.2009, 18:49
d_x
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
С нами: 9541766

Репутация: 2407


По умолчанию

Попробуй добавь в начале

push @{$ua->requests_redirectable}, "POST";
 
Ответить с цитированием

  #7  
Старый 23.09.2009, 00:48
mr.4k
Познающий
Регистрация: 22.12.2008
Сообщений: 42
С нами: 9149618

Репутация: 0
По умолчанию

хорошая идея.
но не работает (
 
Ответить с цитированием

  #8  
Старый 23.09.2009, 01:00
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

Поменяй условие
if ($r->status_line eq '302 Found')

и будет работать
 
Ответить с цитированием

  #9  
Старый 23.09.2009, 17:08
mr.4k
Познающий
Регистрация: 22.12.2008
Сообщений: 42
С нами: 9149618

Репутация: 0
По умолчанию

2 Kaimi: уже было. работает вроде по факту логина. но контент спарсить не могу. возвращает пустую страницу.
отдельный респект тебе за блог! занимательный ресурс! пиши ещё!
 
Ответить с цитированием

  #10  
Старый 23.09.2009, 17:16
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 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";
}
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продам акки вконтакте [FREE] Покупка, продажа, услуги в Соц. Сетях 57 27.03.2009 22:08
Продажа аккаунтов vkontakte.ru [FREE] Покупка, продажа, услуги в Соц. Сетях 8 10.02.2009 20:35



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.