Я пытаюсь использовать Perl WWW :: Mechanize для загрузки файла. Я должен войти на веб-сайт до, а затем, после проверки формы, загрузить файл.
Дело в том, что после нескольких часов мне не удавалось делать то, что я хочу. В конце сценарий сохраняет файл, который является не zip-файлом, а html-файлом, в котором нет ничего интересного.
Вот скрипт, который я сделал:
use WWW::Mechanize;
use Crypt::SSLeay;
my $login = "MyMail";
my $password = "MyLogin";
my $url = 'http://www.lemonde.fr/journalelectronique/donnees/protege/20101002/Le_Monde_20101002.zip';
$bot = WWW::Mechanize->new();
$bot->cookie_jar(
HTTP::Cookies->new(
file => "cookies.txt",
autosave => 1,
ignore_discard => 1,
)
);
$response = $bot->get($url);
$bot->form_name("formulaire");
$bot->field('login', $login);
$bot->field('password', $password);
$bot->submit();
$response = $bot->get($url);
my $filename = $response->filename;
if (! open ( FOUT, ">$filename" ) ) {
die("Could not create file: $!" );
}
print( FOUT $bot->response->content() );
close( FOUT );
Не могли бы вы помочь мне найти ошибки, которые я совершил?