Bueno, intentando aprender más sobre Perl, intenté hacer un "Proxy Checker" más rápido que los que hay en Internet.
¡Y qué mejor que ocupar Socket! LWP/request, Agent, me parecen buenos, pero no sé si será una noción personal pero se demoran más que los Sockets.
Bueno, el código en sí funciona perfecto, cuando un proxy funciona, éste no se demora más de 2 o 3 segundos en informarte que el proxy funciona, perooo...
Cuando los proxy están down, o malos, éste se me demora mucho en informarme, aprox. unos 15 seg., intenté implementar "timeout => 5", para que si se demora más de 5 segundos, este me informara el error de inmediato, sin tener que esperar los 15 que se demoraba comúnmente.
Pero no me funciona, sigue demorándome 15 seg. en los proxy que están Malos, o no vivos.
¿Alguna idea?
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use IO::Socket;
$proxy = $ARGV[0];
$host="";
$port="";
($host, $port) = split(/(:\d*)/, $proxy);
$port=~s/://;
print "Host : $host\n";
print "Port : $port\n";
$remote = IO::Socket::INET->new(
Proto => "tcp", #Protocolo a utilizar (tcp, udp).
PeerAddr => $host,
PeerPort => $port,
# Reuse=>1, Permite reutilizar el socket.
Timeout =>5 #Tiempo de espera para las operaciones.
) or die "Could not create socket: $!\n" unless $remote;
close $remote;
print "[+]$proxy Alive";
use IO::Socket;
$proxy = $ARGV[0];
$host="";
$port="";
($host, $port) = split(/(:\d*)/, $proxy);
$port=~s/://;
print "Host : $host\n";
print "Port : $port\n";
$remote = IO::Socket::INET->new(
Proto => "tcp", #Protocolo a utilizar (tcp, udp).
PeerAddr => $host,
PeerPort => $port,
# Reuse=>1, Permite reutilizar el socket.
Timeout =>5 #Tiempo de espera para las operaciones.
) or die "Could not create socket: $!\n" unless $remote;
close $remote;
print "[+]$proxy Alive";
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4