Using perl Syntax Highlighting
#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
use HTTP::Request;
use Parallel::ForkManager;
print "Trabajando...\n";
my $archivo_links = $ARGV[0];
chomp($archivo_links);
open LINKS,"$archivo_links" or die "No se encuentra el archivo.... \n";
my @links = <LINKS>;
close(LINKS);
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");
my $timeout = 30;
my $bots = 5;
my $start = 0;
my $pm = new Parallel::ForkManager($bots);
open CODE, '>>', "links_validos.txt" or die $!;
for (my $i = $start; $i < @links; $i++) {
$pm->start and next;
$ua->timeout($timeout);
my $req = HTTP::Request->new(GET => $links[$i]);
my $response = $ua->request($req);
my $content = $response->content();
if ($content =~ /Bienvenido.../)
{
print $links[$i], " Valido!\n";
print CODE $links[$i],"\n";
}
$pm->finish;
}
$pm->wait_all_children;
close(CODE);
use strict;
use LWP::UserAgent;
use HTTP::Request;
use Parallel::ForkManager;
print "Trabajando...\n";
my $archivo_links = $ARGV[0];
chomp($archivo_links);
open LINKS,"$archivo_links" or die "No se encuentra el archivo.... \n";
my @links = <LINKS>;
close(LINKS);
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");
my $timeout = 30;
my $bots = 5;
my $start = 0;
my $pm = new Parallel::ForkManager($bots);
open CODE, '>>', "links_validos.txt" or die $!;
for (my $i = $start; $i < @links; $i++) {
$pm->start and next;
$ua->timeout($timeout);
my $req = HTTP::Request->new(GET => $links[$i]);
my $response = $ua->request($req);
my $content = $response->content();
if ($content =~ /Bienvenido.../)
{
print $links[$i], " Valido!\n";
print CODE $links[$i],"\n";
}
$pm->finish;
}
$pm->wait_all_children;
close(CODE);
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Es algo sencillo pero funciona casi a la perfección, tiene un pequeño problema y es que poco a poco se va llenando la memoria de mi sistema hasta que se queda casi parado por completo.
Abrí el administrador de tareas de Windows y vi como a medida que se va bajando el código de los diferentes links se va incrementando la memoria consumida hasta que se queda todo medio parado.
La verdad no sé cómo solucionar esto y tampoco sé dónde está el problema, a ver si alguien me puede echar una mano.
Saludos y gracias de antemano.