Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по LWP::UserAgent, отправка запроса с куками 
:(
    Опции темы
zet36
Дата 31.5.2008, 04:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 31.5.2008

Репутация: нет
Всего: нет



Здравствуйте у меня возник вопрос как отправить запрос содержащий куки, вот например такой
Код



POST http://mail.rambler.ru/script/auth.cgi HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: http://www.rambler.ru/
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709))
Host: mail.rambler.ru
Content-Length: 41
Pragma: no-cache
Cookie: ruid=UH0LBmW3KkhuFgEAARCXgwB=

domain=rambler.ru&url=7&login=zz&passw=zz


сам запрос (без куков) через LWP::UserAgent я знаю как отправить

Код

use LWP;


my $url='http://mail.rambler.ru/script/auth.cgi';
my $ua=LWP::UserAgent->new;


my $req=$ua->post($url,
[Login => 'login', Domain => 'rambler.ru', Password => 'pass', url => '7']);


print $req->content;

$F = <STDIN>;


а вот как добавить к запросу куки тоесть (ruid=UH0LBmW3KkhuFgEAARCXgwB=)

Не надо ругаться, перед тем как задать вопрос я гуглил, но так и не нашел ответа 
смотрел на http://search.cpan.org/~gaas/libwww-perl-5...HTTP/Cookies.pm

Код

 use HTTP::Cookies;
  $cookie_jar = HTTP::Cookies->new(
    file => "$ENV{'HOME'}/lwp_cookies.dat',
    autosave => 1,
  );

  use LWP;
  my $browser = LWP::UserAgent->new;
  $browser->cookie_jar($cookie_jar);


как я понял там куки которые должны отправлятся долны находиться в файле $ENV{'HOME'}/lwp_cookies.dat' , скорее всего я ошибаюсь

гуглил дальше на http://cylib.iit.nau.edu.ua/Books/Prog/Per...TP/Cookies.html

Код

$cookie_jar->set_cookie( $version, $key, $val, $path, $domain, $port, $path_spec, $secure, $maxage, $discard, \%rest )


помоему это установка значений куков для определённого домена но как должны выглядить половина переменных я не понял,


Если можно пожайлуста привидите пример скрипта отправляющий запрос приведённый выше, заранее спасибо

Это сообщение отредактировал(а) zet36 - 31.5.2008, 05:29
PM MAIL   Вверх
nitr
Дата 31.5.2008, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



Лично я для передачи/получения куки не использую HTTP::Cookies.

Как вариант: прочтите документацию про LWP::UserAgent, про методы 
default_headers
default_header

Я использовал второй, но зная все заголовки, т.к. для второго нужно перечислить все.
А вот для вас пример:

Код

...
my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.8 (build 01709))');
$ua->default_headers->push_header('Cookie' => 'ruid=UH0LBmW3KkhuFgEAARCXgwB=');
$ua->post(...);
...


Добавлено через 4 минуты и 14 секунд
nitr, для проверки, верно ли добавились заголовки и сформировался запрос, можно примерно так:
Код

use LWP::UserAgent;
use Data::Dumper 'Dumper';

my $ua...
...
$ua->default_headers...
print Dumper($ua);
$ua->post...
...


Добавлено через 4 минуты и 57 секунд
P.S.: писал сразу в форум, так что могут быть незначительные ошибки...


--------------------
PM   Вверх
zet36
Дата 31.5.2008, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 31.5.2008

Репутация: нет
Всего: нет



nitr Огромное спасибо, даже незнаю как благодарить, всё работает, ещё раз спасибо
PM MAIL   Вверх
nitr
Дата 31.5.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



zet36, рад помочь, на то и форум, чтобы обсуждать и решать.

P.S.: поставьте галочку - что вопрос решён ;)


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.