in reply to How download MP3 file from Web site that requires cookies

my $cookie_jar = new HTTP::Cookies(file => "cookies.txt"); $cookie_jar->load; END { $cookie_jar->save }; my $mech = new WWW::Mechanize( user_agent => "mp3slurpy/1.0", cookie_j +ar => $cookie_jar ); $mech->get( $login_page ); $mech->submit_form( form_number => 3, fields => { username => 'mungo', password => 'lost-and-alone', } ); $mech->get( $mp3_file, ":content_file" => $output_file );

PS, there's no real reason to choose WWW::Mechanize over LWP::UserAgent except for the ease of using the API... Mech uses LWP though, so there's no disadvantage for picking it either.

-Paul

Replies are listed 'Best First'.
Re^2: How download MP3 file from Web site that requires cookies
by myuserid7 (Scribe) on Jul 09, 2007 at 03:44 UTC
    @fenLisesi
    I should have explained that the reason for the script is to process Web pages that have dozens of links to MP3 files, so I don't have to do it manually.

    @zer
    I'm afraid I don't exactly understand what you mean by "if you are using an external website you can use a proxy to copy the cookie used." The Web site with MP3 files is an external Web site. If the files were local, I wouldn't be wanting to download them. What you mean by using a proxy to copy cookies?

    @Codon
    Yes, but too manual for what I want to do.

    @Paul
    Thank you for the input! Unfortunately, I spent a bunch of time trying to install WWW::Mechanize, but was unsuccessful. I'm using ActiveState Perl on a Windows XP machine. So I used their PPM (Programmer's Package Manager), and did "install WWW::Mechanize" and got error messages. Every variation I tried, failed. I don't believe I've ever downloaded a CPAN module before, but after this experience, I'm not sure I want to try again. Anyway, I gave up in frustration, and switched over to LWP::UserAgent, which seems to be installed by default, and managed to get the code working, using $ua->get(). Thanks!