Forum Webscript.Ru

Программирование => Perl => Тема начата: Troum от 07 Декабря 2002, 18:11:08

Название: как к HTTP заголовку прицепить cookies
Отправлено: Troum от 07 Декабря 2002, 18:11:08
Надо сделать создание тем на форуме автоматом. Взял, нужный урл, подцепил постом нужные значения, но чтоб пройти авторизацию, в куках надо логин с паролем прописать. Подскажите, как?
Название: как к HTTP заголовку прицепить cookies
Отправлено: glebushka от 07 Декабря 2002, 23:50:57
не понял трабл. Ты что куки не могёшь записать? Если да, то rtfm. Если нет, то объясняй.
Название: как к HTTP заголовку прицепить cookies
Отправлено: xnx от 08 Декабря 2002, 01:37:54
ему наверное не записать, а отослать куки нужно (типа что б скрипт притворился бровсером).
lwp умеет
Название: как к HTTP заголовку прицепить cookies
Отправлено: Troum от 09 Декабря 2002, 11:31:38
Сорри за криво поставленный вопрос
Задача именно в том, чтоб скрипт притворился браузером, и мог создавать темы в некоем форуме. Для этого действительно надо отослать куки. Имя - значение известны. Вопрос в том, как их отослать с помощью lwp
Название: как к HTTP заголовку прицепить cookies
Отправлено: NeoNox от 09 Декабря 2002, 11:38:34
perldoc LWP
или по-русски
http://perldoc.narod.ru/LWP-spec.pdf
Название: как к HTTP заголовку прицепить cookies
Отправлено: Troum от 09 Декабря 2002, 12:46:48
Спасибки, разобрался, но есть одно но:
мне приходится генерить запрос авторизации, получать нужные куки, а уж потом их отправлять.
Зачем их получать, если я и так знаю, что отправить нужно. Подскажите, как их вручную прописать
Название: как к HTTP заголовку прицепить cookies
Отправлено: NeoNox от 09 Декабря 2002, 13:00:18
Опять криво поставленный вопрос.
Сформулируй по другому.
Название: как к HTTP заголовку прицепить cookies
Отправлено: Troum от 09 Декабря 2002, 13:10:10
оки, по другому
чтоб получить нужный кук (который я и так знаю)

$ua = LWP::UserAgent->new;
 my $req = HTTP::Request->new(\'POST\' => \'login.pl\');
 $req->content_type(\'application/x-www-form-urlencoded\');
 $req->content(\'тута все что постится\');
 my $res = $ua->request($req);
 my $cookie = new HTTP::Cookies;
 $cookie->extract_cookies($res);

получили, значит
теперь отправляем

 
 $ua = LWP::UserAgent->new;
 $req = HTTP::Request->new(\'POST\' => \'post.pl\');
 $req->content_type(\'application/x-www-form-urlencoded\');
 $req->content(\'опять чего-то там постим\');
 $cookie->add_cookie_header($req);
 $res = $ua->request($req);

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