• Publicidad

Filtrar palabras de un código fuente

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Filtrar palabras de un código fuente

Notapor confused » 2009-06-24 15:10 @673

Hola gente, ¿qué tal?, Para empezar soy nuevo en este foro así que antes que nada felicitarlos.

Bueno, vamos al grano. He realizado un pequeño script en Perl, el cual FUNCIONA.

Pero necesito ajustar más los parámetros... El script lo que hace es muy simple: ingreso un HASH md5; y éste lo ingresa en una base de datos: una web donde contiene muchos hash con sus 'valores' desencriptados.

Es decir, el user ingresa un hash, y le devolvería algo así:

Código: Seleccionar todo
098f6bcd4621d373cade4e832627b4f6 - test


Esto es lo que yo quiero hacer, pero al realizar el script, me devuelve TODO EL CÓDIGO FUENTE.

¿Hay alguna forma de intentar que mediante expresiones regulares o algún tipo de filtro me deje la palabra solamente?

Les dejo mi humilde código.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
####################################################################
# Testea si un hash en md5 previamente fue crackeado, en una base de datos  
# Confused                                                       
####################################################################

use LWP::UserAgent;
use HTTP::Request;

#Input para almacenar el Hash MD5.
system("clear");
print "-> Ingrese hash: ";
$hash =<STDIN>;
chomp($hash);

#Base de Datos G-DATA Online
$url = "http://gdataonline.com/qkhash.php?mode=txt&hash=$hash";

#Definiendo UserAgent nuevo.
my $ua = LWP::UserAgent->new();
$ua->agent("Morcilla/4.0");

#Definiendo Request.
my $req = HTTP::Request->new(POST => $url);
my $respuesta = $ua->request($req);
my $contenido = $respuesta->content(); #contenido de la respuesta
print "$contenido\n";
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
confused
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-06-24 14:59 @666

Publicidad

Notapor netsoul » 2009-06-24 18:30 @812

Pues, si no me equivoco:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my ($a) = $contenido =~ m/%"><b>(.+)<\/b>/;

print "$a\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
With Perl
Imagination is more important than knowledge. Albert Einstein.
netsoul
Perlero nuevo
Perlero nuevo
 
Mensajes: 150
Registrado: 2008-05-04 01:11 @091

Notapor explorer » 2009-06-24 18:41 @820

Bienvenido a los foros de Perl en Español, confused.

Sí, la solución es muy sencilla... con una sola expresión regular sale bien...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
####################################################################
# Testea si un hash en md5 previamente fue crackeado, en una base de datos
# Confused
####################################################################

use Modern::Perl;

use LWP::Simple qw'$ua get';
$ua->agent("Morcilla/4.0");

print "-> Ingrese hash: ";
chomp(my $hash =<STDIN>);

my $respuesta = get("http://gdataonline.com/qkhash.php?mode=txt&hash=$hash");

say $respuesta ~~ m{ > $hash < .*? b> (.+?) </b }msx
    ? "Encontrado: $hash - $1"
    : "No encontrado"
    ;

__END__
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor confused » 2009-06-24 21:38 @943

Muchas gracias gente, ¡ funcionó de maravilla !
Me verán más seguido por acá, espero aportar algo :p

¡Saludos!
confused
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-06-24 14:59 @666


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados