[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