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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> lwp + cookie 
V
    Опции темы
alezzz
Дата 13.9.2012, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



И тема вроде не новая, уже тут обсуждалась но не пойму что не так.
Такой код (192.168.0.1 - это D'link DIR-300)
Код

use strict;
use LWP::UserAgent;
use HTTP::Cookies;
use Data::Dumper;

my $ua = LWP::UserAgent->new();
$ua->cookie_jar(HTTP::Cookies->new(file => 'cookie.dat', autosave => 1));

my $resp = $ua->get('http://192.168.0.1/');
print Dumper $resp;


Dumper показывает
Код

...
                 '_rc' => '200',
                 '_headers' => bless( {
                                        'set-cookie' => 'user_ip=192.168.0.9',
...

в cookie.dat:
Код

#LWP-Cookies-1.0


Непойму почему файл пустой, я так понял что туда должна попасть кука user_ip, а в идеале хочется передать куки при запросе POST, пока такое удалось сделать curl-ом:
Код

curl -b "client_login=admin; client_password=admin" -d "v2=y&rs_type=html&auth=auth&A1=admin&A2=admin" http://192.168.0.1

Как такое запилить на LWP?
PM MAIL   Вверх
alezzz
Дата 13.9.2012, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


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

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



Погуглил, нашел, можно оказывается просто:
Код

my $resp = $ua->get('http://192.168.0.1/', Cookie => 'client_login=admin; client_password=admin');

этого как-раз хватает
PM MAIL   Вверх
Pfailed
Дата 13.9.2012, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(alezzz @ 13.9.2012,  11:44)
Погуглил, нашел, можно оказывается просто:
Код

my $resp = $ua->get('http://192.168.0.1/', Cookie => 'client_login=admin; client_password=admin');

этого как-раз хватает

По всей видимости это сессионая cookies, вот она и не сохраняется в файл. Там есть аргумент ignore_discard, который меняет это поведение. Да и в файл не обязательно сохранять, если только действительно не хочется сохранять cookies между запускам скрипта.


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


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

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


 




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


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

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