Foro de elhacker.net

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
  1. #!/usr/bin/perl
  2. $ip=GetPublicIp();
  3. if($ip ne "Error"){
  4. print $ip;
  5. }else{
  6. print "Error";
  7. }
  8.  
  9. sub GetPublicIp{
  10. #Funcion Por Isseu
  11. use LWP::Simple;
  12. use LWP::UserAgent;
  13. use HTTP::Request;
  14. use HTTP::Response;
  15. $URL="http://ip.interchile.com/";
  16. $browser = LWP::UserAgent->new();
  17. $browser->timeout(5);
  18. my $request = HTTP::Request->new(GET => $URL);
  19. my $response = $browser->request($request);
  20. if(!$response->is_error()){
  21. $data=$response->content();
  22. $data=substr($data,630,50);
  23. if($data=~/<font size=7>(.+\..+\..+\..+)<\/font>/){
  24.    return $1;
  25.    }else{
  26. print "Error";
  27. }
  28.  
  29.  
  30. }else{
  31. print "Error";
  32. }
  33. }




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
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use LWP::Simple;
  5. my $ip = get("http://icanhazip.com/");
  6. print $ip;