apuntes_Tularis2k8_01-06-09

Comenzamos con el resumen de AlexBM de la clase del día 29.

Comentamos el fallo de Cristina en su ejercicio de autoevaluación. Seguimos viendo un ejercicio de autoevaluación de Vallesquino, el T3.1 acerca de la utilizad de los servicios web.Google ofrece editores online, aplicaciones en la web.

Continuamos con el temario, el protocolo http. Es un protocolo con semántica, muy expresivo. Algunas de las funciones como get,post,head (saber si un recurso ha cambiado,útil para rss por ejemplo).La ventaja de head sobre get es que es más ligero que él.Otro comando es pu, igual que get pero en este caso cambia un recurso o crea un recurso, esto puede ser peligroso para la seguridad. Delete lo que hace es que elimina un URL.

Los comandos se dividen en dos grupos, seguros que dejan el servidor en el mismo estado en el que lo cogieron y los idempotentes, es decir, que si realizas la misma operación se obtiene el mismo resultado. Y la única que no es segura ni idempotente es post.

Los códigos 200 son los mensajes de éxito. Los 300 son de redirección. Los 400 son de error y por último los 500 son los de fallo de servidor.

Las aplicaciones construidas alrededor del protocolo HTTP se llaman aplicaciones RESTful. Suele ser muy fácil construir las interfaces ya que sólo se trata de construir una cadena.

Nos metemos en twiter (ejemplo de interfaz rest) usuario:aap_ugr clave:ahhhaveriguala! la petición POST quedaría:

http://aap_ugr:estaseríalaclave@twitter.com/statuses/update.xml

Donde statuse es al función a la que llamamos. EL script finalmente queda:


 * 1) !/usr/bin/perl

use LWP::UserAgent; use HTTP::Request::Common qw(POST GET);

my $status = shift; my $ua = LWP::UserAgent->new; my $req = POST 'http://aap_ugr:xxx@twitter.com/statuses/update.xml', [ status => $status ]; my $res = $ua->request($req); print "Resultado:\n",$res->content,"\n";

Para probarlo en windows, modificamos la petición anterior poniendo la clave correcta (no, no te la digo), y ejecutamos "perl t3-twitter.pl 'hola?'" esto donde se puede ejecutar perl (c:/...path.../xampp/perl/bin/ en mi caso).

Hablamos de XML-RPC, llamada remota de bastante sencillez pero poco flexible usada habitualmente en las bitácoras.