Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: isseu en 19 Abril 2010, 03:55 AM

Título: Funcion Ip Publica [Perl]
Publicado por: isseu en 19 Abril 2010, 03:55 AM
Una funcion que hice para probar un poco de "regex", usando la web http://ip.interchile.com/ devuelve tu ip publica como string,
Código (perl) [Seleccionar]
#!/usr/bin/perl
$ip=GetPublicIp();
if($ip ne "Error"){
print $ip;
}else{
print "Error";
}

sub GetPublicIp{
#Funcion Por Isseu
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
$URL="http://ip.interchile.com/";
$browser = LWP::UserAgent->new();
$browser->timeout(5);
my $request = HTTP::Request->new(GET => $URL);
my $response = $browser->request($request);
if(!$response->is_error()){
$data=$response->content();
$data=substr($data,630,50);
if($data=~/<font size=7>(.+\..+\..+\..+)<\/font>/){
    return $1;
    }else{
print "Error";
}


}else{
print "Error";
}
}



Título: Re: Funcion Ip Publica [Perl]
Publicado por: ~ Yoya ~ en 7 Mayo 2010, 23:58 PM
estas usando modulos de mas, y podrias usar una expresion mas corta, asi no gasta mas recursos...
Título: Re: Funcion Ip Publica [Perl]
Publicado por: leogtz en 8 Mayo 2010, 00:17 AM
Código (perl) [Seleccionar]
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
my $ip = get("http://icanhazip.com/");
print $ip;