[Cascavel-pm] Download Zip File
Roan Brasil Monteiro
roanbrasil em gmail.com
Quinta Agosto 26 11:39:56 PDT 2010
Galera fiz um projeto aqui e estou fazendo download de um zip file, só que
não estou conseguindo usando a lib, alguem pode me ajudar?
Parser.pm
{
package Parser;
use HTML::TreeBuilder::XPath;
sub new{
my $class = shift;
my $self = {};
bless $self, $class;
return $self;
}
sub extractHrefContent{
my $self = shift;
my $html_content = shift;
my $tree = HTML::TreeBuilder::XPath->new;
$tree->parse_content(do { local($/); $html_content});
my @array;
my $cont = 0;
for my $result ($tree->findnodes(q{/html/body/ul/li})) {
my $x = HTML::TreeBuilder::XPath->new;
$x->parse($result->as_HTML);
my $variavel = $x->findvalue(q{//a});
$array[$cont]= $variavel;
$cont++;
}
return @array;
}
return 1;
}
Login.pm
{
package Login;
use WWW::Mechanize;
use MIME::Base64;
use HTTP::Response;
sub new{
my $class = shift;
my $self = {};
bless $self, $class;
return $self;
}
sub request_uri(){
my $self = shift;
my $url = shift;
my $agent = WWW::Mechanize->new();
my @args = (
Authorization => "Basic " .
MIME::Base64::encode( 'user' . ':' .'password' )
);
# $agent->credentials( ADDRESS, REALM, USER, PASS );
my $res = HTTP::Response->new;
$res =
$agent->get( $url,
@args );
my $html_content = $res->decoded_content;
return $html_content;
}
return 1;
}
ReleaseControlDownloader.pm
package ReleaseControlDownloader;
use strict;
use Login;
use Parser;
use Net::Download::Queue;
# URL de requisição
my $url = 'http://200.124.194.230/Getnet';
# request URL and get the html content
my $login = Login->new();
my $html_content = $login->request_uri($url);
my $parser = Parser->new();
my @list = $parser->extractHrefContent($html_content);
my $cont = 0;
while($cont < $#list){
my $variavel = $list[$cont];
$cont++;
# tira o espaço em branco
$variavel =~ s/\s//g; ;
my $complete_url = $url."/".$variavel;
if($cont==5){
my $oQueue = Net::Download::Queue->new() or die;
my $oDownload = $oQueue->oDownloadAdd(
$complete_url,
"C:\\",
$variavel,
) or die;
}
}
Até mesmo se eu pegar um pagina qualquer para fazer o download por exemplo
qualquer URL.zip para eu testar.
Alguem se habilita? GOLFFFFFFFFFFFFFFFFFFFFFFFFFFFF
--
Atenciosamente,
Roan Brasil Monteiro
http://roanbrasil.wordpress.com/
http://www.gramaro.com.br/ - Grama em Tapete Salvador Bahia
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20100826/75b1e078/attachment.html>
Mais detalhes sobre a lista de discussão Cascavel-pm