Skip Menu |

This queue is for tickets about the WWW-RapidShare CPAN distribution.

Report information
The Basics
Id: 40878
Status: new
Priority: 0/
Queue: WWW-RapidShare

People
Owner: Nobody in particular
Requestors: karavay [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: WWW-RapidShare - mod
Date: Thu, 13 Nov 2008 03:34:30 +0100
To: bug-WWW-RapidShare [...] rt.cpan.org
From: Vlad <karavay [...] gmail.com>
I've modified the module a little so it can comply with the login requirements of the updated rapidshare.com system (12/11/2008). Hope this helps, --CODE-- package WWW::RapidShare; use strict; use warnings; use base 'Class::Accessor'; use version; our $VERSION = qv('0.3'); use WWW::Mechanize; use File::Basename; use Data::Dumper; __PACKAGE__->mk_accessors(qw/ url account_id password _mech /); =pod =head1 NAME WWW::RapidShare - Download files from Rapidshare =head1 VERSION This documentation refers to WWW::RapidShare version 0.3 =head1 NOTE Currently only works with rapidshare.com PREMIUM accounts. More features coming soon! =head1 SYNOPSIS use WWW::RapidShare; my $rapid = WWW::RapidShare->new(); $rapid->url('http://rapidshare.com/files/file.zip'); $rapid->account_id('xxxxxx'); $rapid->password('xxxxxx'); # Download the file associated with the above URL. # File will be saved in current directory. $rapid->download_file(); =head1 SUBROUTINES/METHODS =cut =pod =head2 B<new()> =head3 Purpose Create a new WWW::RapidShare object =head3 Usage my $rapid = WWW::RapidShare->new(); =head3 Parameters None =head3 Returns A WWW::RapidShare object =cut sub new { my ($proto) = @_; my $class = ref $proto || $proto; my $self = {}; bless $self, $class; # Create our agent my $mech = WWW::Mechanize->new(); $self->_mech($mech); return $self; } =pod =head2 B<accessors/mutators> * url - The URL to download the file * account_id - Your account ID * password - your password =cut =pod =head2 B<download_file()> =head3 Purpose Download the file associated with the URL =head3 Usage $rapid->download_file(); =head3 Parameters None =head3 Returns None =head3 Comments This method will create a file in the current directory =cut sub download_file { my $self = shift; $self->_mech->get($self->url); $self->_mech->form_number(2); $self->_mech->submit; # login $self->_mech->form_number(1); $self->_mech->form_with_fields(qw/accountid password/); $self->_mech->field(accountid => $self->account_id); $self->_mech->field(password => $self->password); $self->_mech->submit(); my $ah_form = pop @{ $self->_mech->forms }; my $file_name = basename($ah_form->action); print "Fetching " . $ah_form->action . " ...\n"; print "Saving file as $file_name\n"; $self->_mech->get( $ah_form->action, ":content_file" => $file_name ); #$self->_mech->click_button(name => 'dl.start'); } 1; =head1 DEPENDENCIES =over 4 =item * Class::Accessor =item * WWW::Mechanize =back =head1 AUTHOR Rohan Almeida <rohan@almeida.in> =head1 LICENCE AND COPYRIGHT Copyright (c) 2008 Rohan Almeida <rohan@almeida.in>. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ---CODE-- -- Regards Vlad, ---------------------------------------------------------------- Public key - Version: GnuPG v1.4.7 (GNU/Linux) Download: http://keyserver.veridis.com:11371/export?id=8855460614872382293&created=1201896764000 Description: http://keyserver.veridis.com:11371/search?q=vlad.O&searchformsubmit=Search