Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: How download MP3 file from Web site that requires cookies

by jettero (Monsignor)
on Jul 06, 2007 at 16:38 UTC ( [id://625296]=note: print w/replies, xml ) Need Help??


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!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://625296]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (2)
As of 2024-04-25 06:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found