Página 1 de 1

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

NotaPublicado: 2019-05-30 19:32 @856
por MARKO
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.

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

NotaPublicado: 2019-05-31 06:31 @313
por explorer
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.002 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

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

NotaPublicado: 2019-05-31 15:36 @692
por MARKO
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?

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

NotaPublicado: 2019-06-01 15:31 @688
por explorer
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.