Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Perl.dp.ua - perl решения, perl обсуждения
  Новости:
Форум сайта Perl.dp.ua снова работает!
  ГлавнаяСправкаПоискВходРегистрация
 
Заполнение формы из Perl Cookie (Прочитано 9 раз)
Nickolay
YaBB Newbies
*
Вне Форума

I love PERL! :)

Сообщений: 4

Заполнение формы из Perl Cookie
27.06.09 :: 15:43:01
 
Здравствуйте, столкнулся с посылкой формы на сервер из Perl
и ничего не работает, кто знает, подскажите пожалуйста.

Вопрос в том, что форма на сервер посылается отлично, но нужно
сначало пройти идентификацию, получить Cookie, а затем используя эти куки послать другую форму с данными.

Только и всего, вроде всё просто, а не работает.

Вот мой код:


$ua = LWP::UserAgent->new;
$ua->cookie_jar(HTTP::Cookies->new(file => "lwpcookies.txt", autosave => 1));

$url_send_password = "****";
$request = POST($url_send_password, Content => ['AuthPhase' => '1', 'REQUESTED_FROM' => '/', 'REQUESTED_BY' => 'GET', 'catalogue' => '1', 'sub' => '122', 'cc' => '', 'AUTH_USER' => '***', 'AUTH_PW' => '***'], Referer => $url_send_password);
$response = $ua->request ($request);
$ua->cookie_jar->extract_cookies($response); # выбираем куки из ответа сервера

$url_add_transport = "***";
$request = POST($url_add_transport, Content => ['cc' => '210', ...], Referer => $url_add_transport);
$ua->cookie_jar->add_cookie_header($request);
$response = $ua->request ($request);

Поясните пожалуйста разницу между формами
$ua->cookie_jar->add_cookie_header($request);

и

$cookie_jar->add_cookie_header($request);

Нашёл примеры в Интернет, есть оба варианта, но моих знаний не хватает понять, почему так.

Вроде если обьект $ua - тогда правильно, но используют и $cookie_jar или это тоже самое?

вообще вроде LWP должна всё сама делать.

Подскажите, пожалуйста, как правильно сделать.
Наверх
 
 
  IP записан
Nickolay
YaBB Newbies
*
Вне Форума

I love PERL! :)

Сообщений: 4

Re: Заполнение формы из Perl Cookie
Ответ #1 - 27.06.09 :: 16:07:09
 
Записал выход в файлы.

Делаем новый обьект LWP куки - такое значение получается:

LWP::UserAgent=HASH(0x1d32f14)


Затем посылаем запрос с паролем на сервер, приходит ответ:

AuthPhase=1&REQUESTED_FROM=%2F&REQUESTED_BY=GET&catalogue=1&sub=122&cc=&
AUTH_USER=hhhhhhhhh&AUTH_PW=5555555555HTTP::Response=HASH(0x1bfc660)

при этом LWP куки остаются прежние

LWP::UserAgent=HASH(0x1d32f14)

Далее посылаем форму

cc=210...HTTP::Response=HASH(0x1bcb418)

LWP::UserAgent=HASH(0x1d32f14)

Куки остаются прежние, но значение HASH - уже другое,

Поясните пожалуйста, HTPP::Responce - это куки или это отдельное значение и как его подставить в форму.

Наверх
 
 
  IP записан
Nickolay
YaBB Newbies
*
Вне Форума

I love PERL! :)

Сообщений: 4

Re: Заполнение формы из Perl Cookie
Ответ #2 - 27.06.09 :: 17:55:49
 
Пожалуйста, если у кого есть рабочий участок этого кода, пишите мне на email mail@stolet.com могу оплатить Ваши хлопоты.
Наверх
 
 
  IP записан