[Cascavel-pm] Squid redirector ( was webcrawler usando Sockets)
Alceu R. de Freitas Jr.
glasswalk3r em yahoo.com.br
Quinta Outubro 20 11:18:50 PDT 2005
Monges,
Atentendo a pedidos, segue o código abaixo do
redirecionador que eu fiz para o Squid usando LWP:
#!/usr/bin/perl
use warnings;
use strict;
use LWP::UserAgent;
# this one should come from configuration file
my $redir =
'http://server/cgi-bin/viralator.cgi?url=';
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->agent('Viralator redirector');
while ( <> ) {
chomp;
#request format
# URL ip-address/fqdn ident method
my $URL = parse_request($_);
my $response = $ua->head($URL);
if ( $response->is_success ) {
my $content =
$response->header('Content-Type');
my @mime_list = get_mime_list();
my $flag = 0;
foreach (@mime_list) {
$flag = 1 if ( $_ eq $content );
}
( $flag == 1 ) ? print "\n" : print $redir,
$URL, "\n";
} else {
print $response->status_line, "\n";
}
# end of while block
}
sub get_mime_list {
open(FILE,"<mime.list") or die "Cannot read
mime.list file: $!\n";
my @list;
while ( <FILE> ) {
chomp;
push @list, $_;
}
close(FILE);
return @list;
}
sub parse_request {
my $request = shift;
my @fields = split(/\s/,$request);
return $fields[0];
}
---
Se alguém achar que Sockets faz desse redirecionador
um programa mais magro, por favor me avise. ;-)
[]'s
Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1
_______________________________________________________
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/
Mais detalhes sobre a lista de discussão Cascavel-pm