Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Авторизация на перл с куками  (Прочитано 13030 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
samlab
Гость
« : 13-03-2010 21:28 » 

Почему-то не работает вот такой код Жаль
Код:
#!/usr/bin/perl -w

use LWP::UserAgent;

$ua = LWP::UserAgent->new;

$ua->cookie_jar({});

$ua->default_header('Accept-Language' =>"ru");

$ua->default_header('Referer' => "http://site.ru/index.php");

$ua->default_header('Accept' => "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*");

$ua->agent('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)');

my $req = HTTP::Request->new(POST => 'http://site.ru/index.php?cf=login');

$req->content_type('application/ x-www-form-urlencoded');

$req->content('login=vasya&passw=pupkin');

my $res = $ua->request($req);

$middle = $res->as_string;

print "Content-Type: text/html\n\n";

print "$middle";

Почему не ловится кука? Вроде, она должна записаться и храниться в памяти программы? И возможна ли авторизация на LWP или нужно использовать сокеты обязательно? Не может быть...
Как всегда, огромное спасибо за любую подсказку и помощь Люблю!
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 13-03-2010 22:40 » 

samlab, сумбурно как-то...
Что не работает? Что значит " не ловится"? При чем тут куки, авторизация и сокеты? Выражайся яснее!
Прежде всего - какая задача?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
samlab
Гость
« Ответ #2 : 14-03-2010 01:36 » 

samlab, сумбурно как-то...
Что не работает? Что значит " не ловится"? При чем тут куки, авторизация и сокеты? Выражайся яснее!
Прежде всего - какая задача?


Прошу прощение за сумятицу...

Не работает приемка и запись кукиса с сайта... Не ловится, как раз и имел ввиду,что куки не принимается...  
Куки,авторизация и сокеты при том, что я понимаю, как-то надо держать соединение открытым?
Задача - авторизоваться на локальном сервере статистики ( авторизоваться я имею ввиду - методом пост отправить пароль и логин), потом словить печенье, по которому сайт запоминает, что я - это я, затем, перейти на страницу статистики потребленного трафика Да-да...
Сервер статистики - сервер провайдера, у меня лимитный инэт Улыбаюсь...
« Последнее редактирование: 14-03-2010 01:42 от samlab » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 14-03-2010 07:52 » 

samlab, покажи заголовки запроса и ответа.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
samlab
Гость
« Ответ #4 : 14-03-2010 11:33 » 

Заголовки запроса
Код:
(Request-Line):POST /index.php HTTP/1.1
Host:site.ru.ru
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language:ru,en-us;q=0.7,en;q=0.3
Accept-Encoding:gzip,deflate
Accept-Charset:windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive:115
Connection:keep-alive
Referer:http://site.ru/index.php
Cookie:bash=8nv11kil801mvei30kc9ssf0e5
Content-Type:application/x-www-form-urlencoded
Content-Length:55
Заголовки ответа
Код:

(Status-Line):HTTP/1.1 200 OK
Server:nginx/0.7.61
Date:Sun, 14 Mar 2010 11:27:00 GMT
Content-Type:text/html
Transfer-Encoding:chunked
Connection:keep-alive
X-Powered-By:PHP/5.2.9
Expires:Thu, 19 Nov 1995 08:52:00 GMT
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma:no-cache
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 14-03-2010 13:06 » 

samlab, в запросе куки уже есть. Если это именно те, что используются серверной частью, то в ответе их не будет.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
samlab
Гость
« Ответ #6 : 14-03-2010 19:31 » 

 Улыбаюсь И что вы посоветуете?

Добавлено через 1 час, 38 минут и 22 секунды:
Все, разобрался уже сам Внимание! Говорит и показывает...
« Последнее редактирование: 14-03-2010 21:10 от samlab » Записан
sergvg
Интересующийся

ru
Offline Offline

« Ответ #7 : 14-05-2010 03:24 » 

кстати, у меня вопрос по LWP:

если запрос формируется им, то как посмотреть его полностью в текстовом виде? до этого я обходился снифером...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 14-05-2010 03:40 » 

sergvg, смотри документацию: http://search.cpan.org/~gaas/libwww-perl-5.836/lib/LWP/UserAgent.pm

Например, можно добавить обработчик на отсылку запроса и получение заголовка ответа. См. "$ua->add_handler".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines