• Publicidad

Peticion GET a una redirección

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

Peticion GET a una redirección

Notapor erv-Z » 2010-03-15 17:07 @755

Buenas, necesito hacerle una petición GET a una redirección, o sea, hago esto:

Hago una petición GET
Luego me redirige

Y a la redirección le quiero hacer la petición GET, el estatus HTTP es 302 -> que es el de redirección...
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Publicidad

Re: Peticion GET a una redirección

Notapor explorer » 2010-03-15 18:04 @794

Pero... ¿qué tecnología estás usando? ¿CGI, WWW::Mechanize, LWP::UserAgent...?
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: Peticion GET a una redirección

Notapor erv-Z » 2010-03-15 18:07 @796

La web usa PHP, quiero tratar de hacerlo con LWP o HTTP.
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Re: Peticion GET a una redirección

Notapor explorer » 2010-03-15 18:54 @829

Madre mía, qué follón tienes montado...

* Te he preguntado por la tecnología que vas a usar desde tu lado, no la que está funcionando en el lado del servidor, con PHP

* PHP es un lenguaje, LWP es un módulo de Perl y HTTP es un protocolo, así que en una frase has mezclado cosas que no tienen que ver entre sí, para resolver el problema :)

Lo de la tecnología a usar es importante...

* Si usas el módulo CGI, puedes hacer uso de la función redirect() para hacer el salto

* Si usas LWP, deberás ver la respuesta del servidor, si es un 302, deberás leer la cabecera HTTP y buscar por Location, y luego hacer el GET de la URL indicada por él, teniendo en cuenta los casos de que la URL te la den en forma absoluta o relativa

* Si usas WWW::Mechanize, no tienes que hacer nada.
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: Peticion GET a una redirección

Notapor erv-Z » 2010-03-15 19:23 @849

Bien, explorer, no sabía que aparecía el campo Location en las cabeceras, y la acabo de revisar y sí, pero el problema es que no puedo leer las respuesta HTTP porque uso el módulo HTTP::Request::Common para completar un formulario + envío cabeceras y no me deja leer las respuesta de la cabeceras con la misma función que antes xD...
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Re: Peticion GET a una redirección

Notapor explorer » 2010-03-15 19:49 @867

HTTP::Request::Common devuelve un objeto HTTP::Request, así que sí tienes acceso a las cabeceras, con la función header():

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use common::sense;
  3.  
  4. use LWP::UserAgent;
  5. use HTTP::Request::Common;
  6.  
  7. my $ua = LWP::UserAgent->new;
  8.  
  9. my $response = $ua->request(GET 'http://el.dominio.malo/');
  10.  
  11. say $response->header('Location');
  12.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


(Sacado de la documentación de HTTP::Request::Common y HTTP::Request).

P.D.: es más cómodo usar WWW::Mechanize :)
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: Peticion GET a una redirección

Notapor erv-Z » 2010-03-16 14:33 @648

Funcionó, 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 34 invitados