¡Ya estamos en Twitter!

Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad

Leer documentos via HTTP

por Uriel Lizama

Introducción

Con este tutorial vamos a aprender a leer páginas HTML o cualquier documento por medio de HTTP.

Los módulos

Vamos 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 HTTP

Despué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.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 CGI::Carp qw(fatalsToBrowser);

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


my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");

my $url = "http://baboonsoftware.com/";

my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
my $content = $response->content();

print "Content-type: text/html\n\n";
print $content;


¿Quiéres más tutoriales como este? Escribir tutoriales toma una gran cantidad de tiempo y esfuerzo. Si este tutorial te ayudó a aprender o a solucionar algo, por favor considera dejar alguna donación en apoyo a Perl en Español.

Cliquea en el botón de abajo para dejar tu donación por medio de PayPal.

Comparte:
Categorías de Tutoriales:
En Nuestros Foros:

    Software error:

    junk after document element at line 1, column 32, byte 32 at /usr/lib64/perl5/vendor_perl/XML/Parser.pm line 187.
    

    For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error.

  • Entra a los foros »
Socializa:
Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Perl en Español es mantenido con Movable Type
Todo el contenido de Perl en Español está bajo una licencia CC:
Creative Commons License