Perl の WWW::Mechanize を使用してファイルをダウンロードしようとしています。前に Web サイトにログインし、フォームを検証した後、ファイルをダウンロードする必要があります。
問題は、数時間後、私がやりたいことをすることに成功しなかったことです. 最後に、スクリプトは 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 );
私が犯した過ちを見つけるのを手伝ってくれませんか?