Perl Cookie не работает - PullRequest
       1

Perl Cookie не работает

2 голосов
/ 20 марта 2011

Я уже целый день искал ответ на этот вопрос:

Я использую Perl с LWP :: UserAgent и HTTP :: Cookies.

Моя проблема в том, что я не могупройти проверку возраста файлов cookie.

В Perl я использую этот код:

my $browser = LWP::UserAgent->new;
my $resp = $browser->get( $url, 'User-Agent' => 'MySpider/1.0' );

#Cookie Setup
my $cookies = HTTP::Cookies->new();
$cookies->set_cookie(1,'age_check', '1','/','.example.com/', 80, ,0,3354512128, 0);
$browser->cookie_jar($cookies);

Сайт устанавливает cookie с помощью JavaScript

function saveSplash(domain) {
    var expDate = new Date();
    expDate.setTime(expDate.getTime()+(1*24*3600*1000));
    setCookie("age_check", 1, expDate, '/', domain);
    setCookie("screen_width", getScreenWidth(), expDate, '/', domain);
}

Этоcookie сохраняется моим браузером:

age_check
1
example.com/
1088
3354512128
30140182
2646218624
30139981

Есть идеи, что я делаю неправильно?

Заранее спасибо, ребята!

Ответы [ 2 ]

1 голос
/ 20 марта 2011

Я вижу две проблемы с вашим set_cookie звонком.Во-первых, домен должен быть ".example.com" без слеша;косая черта указывается в параметре пути.Во-вторых, вам не хватает значения для параметра path_spec, поэтому значение, которое вы указываете для discard (0), используется для maxage, что приводит к просроченному файлу cookie.

0 голосов
/ 20 марта 2011

(Обновление: совсем упущено.)

Надеюсь, ты не тратил весь день на поиски. :( Первый результат в Google для LWP :: UserAgent JavaScript - Обработка Javascript с помощью LWP :: UserAgent , который дает изюминку: он не поддерживает JavaScript. Есть пара варианты хотя.

Проверка Механизация JavaScript на CPAN. Это приводит к WWW :: Mechanize :: Firefox и WWW :: Mechanize :: Plugin :: JavaScript . Есть также сценарии с WWW :: Selenium , что немного сложнее, но отлично подражает браузеру, потому что он действительно работает под управлением браузера.

Upate: забыл о WWW :: Scripter , который на самом деле относится к Mech :: Plugin :: JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...