|
|
|||||||||||||||||||||||||
|
IntroducciónCon este tutorial vamos a aprender a leer páginas HTML o cualquier documento por medio de HTTP. Los módulosVamos a necesitar dos módulos:
use LWP::UserAgent;
use HTTP::Request; Con el primero vamos a cambiar la manera con la cual nos vamos a identificar, y el segundo para pedir la página por medio de HTTP. Pidiendo un documento HTTPDespués de haber declarado que queremos usar ese par de módulos, lo que vamos a hacer es decidir como queremos indentificarnos, es decir el nombre de nuestro "User Agent", y eso lo hacemos de la siguiente manera.
my $ua = LWP::UserAgent->new;
$ua->agent("Kidd 1.0 (http://perlenespanol.baboonsoftware.com/)"); El nombre del "agent" puede ser el que querramos, normalmente es algo con el cual nos puedan identificar. Ahora vamos a inicializar una variable con la dirección HTTP que queremos leer.
my $url = "http://sitioweb.com/pagina.htm";
Ya que tenemos nuestra variable ahora si vamos a hacer el resto del trabajo:
my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req); my $content = $response->content(); Vamos a ver el código por partes. La primera linea inicializa un nuevo objeto del módulo HTTP::Request, donde primero ponemos con que método queremos pedir el documento (lo más común es GET o POST), seguido por la variable de nuestro URL. La segunda linea asigna el nuevo objeto junto con el "User Agent" que habíamos decidido hacer, por motivos de espacio y de tiempo no vay a dar detalles específicos de como funciona esto. Finalmente la tercera linea asigna a la variable "$content", todo el contenido que se obtuvo del document, que en este caso sería el código HTML. Esta variable es un string común y corriente así que lo más seguro es que querramos desplegarlo.
print "Content-type: text/html\n\n";
print $content; En tutoriales futuros vamos a aprender a mandar formas por medio de perl, y a como descargar imagenes vía HTTP con perl. Código Final
#!/usr/bin/perl -w
use strict; use LWP::UserAgent;
my $url = "http://baboonsoftware.com/"; my $req = HTTP::Request->new(GET => $url); print "Content-type: text/html\n\n";
|
||||||||||||||||||||||||
|
|||||||||||||||||||||||||