• Publicidad

Obtener un XML de un Web Sevice mediante un GET o POST

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

Obtener un XML de un Web Sevice mediante un GET o POST

Notapor MARKO » 2019-05-30 19:32 @856

Hola de nuevo, Perl en español.

Tengo asignado el proyecto de hacer una aplicación que obtenga un xml de un WebService. En la documentación del servicio nos brindan dos ejemplos, uno con GET y su respuesta y otro con POST y su respuesta (en el archivo adjunto).

Mi pregunta es: ¿cómo puedo hacer el GET o POST hacia la página desde un script Perl?

Gracias por adelantado.
Adjuntos
Metodos GET POST.JPG
ejemplos de requests correctos.
Metodos GET POST.JPG (101.71 KiB) Visto 2239 veces
MARKO
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2012-01-10 22:34 @982

Publicidad

Re: Obtener un XML de un Web Sevice mediante un GET o POST

Notapor explorer » 2019-05-31 06:31 @313

Con las lwptools.

Con POST (recomendado):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use HTTP::Request::Common qw(POST);
  2. use LWP::UserAgent;
  3.  
  4. my $ua = LWP::UserAgent->new();
  5. my $req = POST 'http://ws.eegsax.net/WSPrime/WSPrime.asmx/Consulta',
  6.     [
  7.         PrmUsuario  => 'string',
  8.         PrmClave    => 'string',
  9.         PrmContador => 'string',
  10.         PrmFecha    => 'string',
  11.     ];
  12. my $content = $ua->request($req)->as_string;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

O con GET:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use LWP::Simple;
  2. use URI::URL;
  3.  
  4. my $url = url('http://ws.eegsax.net/WSPrime/WSPrime.asmx/Consulta');
  5. $url->query_form(PrmUsuario => 'string', PrmClave => 'string', PrmContador => 'string', PrmFecha => 'string');
  6. $content = get($url);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Sacado del perlfaq9, pregunta «How do I automate an HTML form submission?».

En tu ordenador: perldoc perlfaq9
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: Obtener un XML de un Web Sevice mediante un GET o POST

Notapor MARKO » 2019-05-31 15:36 @692

Muchísimas gracias, explorer.

Funciona de maravilla solo había que arreglar una 'x' que se coló en la dirección del host.

¿Por qué es más recomendable el POST que el GET?
MARKO
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2012-01-10 22:34 @982

Re: Obtener un XML de un Web Sevice mediante un GET o POST

Notapor explorer » 2019-06-01 15:31 @688

No se 'coló' ninguna 'x'. Está puesta a posta. :wink:

Es mejor POST, porque con el GET, la URL, con todos los parámetros, es visible en los archivos de registro (log). Podría haber problemas de seguridad, sobre todo si estamos usando contraseñas.
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


Volver a Básico

¿Quién está conectado?

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