Почему мой Perl-скрипт не может печатать значения cookie? - PullRequest
2 голосов
/ 28 июля 2010

Когда я захожу на usatoday.com с IE, в моей папке временных файлов Интернета автоматически создаются файлы cookie.Но почему следующий скрипт Perl ничего не захватывает?

use WWW::Mechanize;
use strict;
use warnings;

my $browser = WWW::Mechanize->new();
my $response = $browser->get( 'http://www.usatoday.com' );
my $cookie_jar = $browser->cookie_jar(HTTP::Cookies->new()); 
$cookie_jar->extract_cookies( $response );
my $cookie_content = $cookie_jar->as_string;
print $cookie_content;

Для некоторых других сайтов, таких как amazon.com, google.com и yahoo.com, скрипт работает хорошо, но, по крайней мере, мне кажетсяusatoday.com также отправляет информацию о файлах cookie в браузер. Почему у меня другие результаты?Я что-то упускаю?

Есть идеи?Спасибо!

1 Ответ

3 голосов
/ 28 июля 2010

UsaToday использует Javascript для установки cookie.WWW :: Mechanize не анализирует и не запускает Javascript.

Если вам нужно сканировать сайт с помощью cookie, вы можете проанализировать http://i.usatoday.net/_common/_scripts/gel/lib/core/core.js и другие файлы JS и определить, как именно создается cookie, и создать его.себя программно.

...