• Publicidad

Crear una función que haga peticiones web

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Crear una función que haga peticiones web

Notapor erv-Z » 2009-10-23 21:05 @920

Buenas a todos, tengo un problema; es que quiero hacer diferentes peticiones y para ahorrar las líneas y el trabajo, mejor pensé crear una función que haga las peticiones web y usarla en cada petición. Un ejemplo malo podría ser.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use LWP::UserAgent;
  2. use HTTP::Request;
  3.  
  4. sub google-es{
  5.     my $ua = new LWP::UserAgent;
  6.     $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12");
  7.  
  8.     my $busqueda = new HTTP::Request GET =>"http://www.google.es";
  9.     my $resultado = $ua->request($busqueda);
  10.     $ua->timeout(7) || die "Conecction faield";
  11.     my $result = $resultado->content();
  12. }
  13. sub google-ar{
  14.     my $ua = new LWP::UserAgent;
  15.     $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12");
  16.  
  17.     my $busqueda1 = new HTTP::Request GET =>"http://www.google.com.ar";
  18.     my $resultado1 = $ua->request($busqueda1);
  19.     $ua->timeout(7) || die "Conecction faield";
  20.     my $result1 = $resultado1->content();
  21. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Pero lo que quiero es crear solo una función (subrutina) que haga las peticiones web sin tener que escribir lo mismo a cada rato...

Saludos.
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Publicidad

Re: Crear una funcion que haga peticiones web

Notapor explorer » 2009-10-24 21:06 @920

Solo tienes que pasar por parámetro a la función el URL al cual hacer la petición.

O guardar en una variable global una relación de dominios a URL. Algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my %busca_en = (
    es => 'http://www.google.es',
    ar => 'http://www.google.com.ar',
);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Luego, en el programa, solo hay una subrutina que recibe por parámetro el dominio que le pides:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
google($busca_en{es});
google($busca_en{ar});

# ...

sub google {
    my $URL = $_[0];

    # ...

    my $busqueda = new HTTP::Request GET => $URL;

    # ...
}
Coloreado en 0.001 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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Crear una función que haga peticiones web

Notapor erv-Z » 2009-10-25 07:07 @338

Ok, muchas gracias.
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583


Volver a Básico

¿Quién está conectado?

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

cron