~/st/practica05
donde escribirás el resto de ficheros de esta práctica.
Recuerda que la recogida de las prácticas
se hará automáticamente el dia del examen, así que es muy importante que respetes al pie de la letra todos los
nombres de ficheros y directorios que indiquen todos los enunciados.
jsonplaceholder es un sitio web para aprender a programar con REST y facilitar la depuración de programas. Ofrece una API para acceder a recursos típicos como usuarios, mensajes de un foro y fotos. Consulta el API descrito en su página principal y:
~/st/practica05/foro.py
para consultar este servicio web
De: Bret nesciunt iure omnis dolorem tempora et accusantium ----------------------- consectetur animi nesciunt iure dolore enim quia ad veniam autem ut quam aut nobis et est aut quod aut provident voluptas autem voluptas De: Bret optio molestias id quia eum ----------------------- quo et expedita modi cum officia vel magni doloribus qui repudiandae vero nisi sit quos veniam quod sed accusamus veritatis error De: Antonette et ea vero quia laudantium autem ----------------------- delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus accusamus in eum beatae sit vel qui neque voluptates ut commodi qui incidunt ut animi commodi
Observa que aparece el username, el título del mensaje, una línea en texto plano, el cuerpo y una línea en blanco
-u <NOMBRE_USUARIO> --user <NOMBRE_USUARIOS>
, por
ejemplo -u bret
, mostrará solo los mensajes correspondientes a este
username
Esta opción será insensible a mayúsculas, esto es, el resultado será el mismo para
por ejemplo
bret
, Bret
o BrEt
Prueba un holamundo en flask, como el de las transparencias
~/st/practica05/server01.py
que al recibir una petición GET al recurso posts
se comporte
igual que
jsonplaceholder
Añade también el recurso
/posts/n
donde n es el número de mensaje, por ejemplo
/posts/3
Siempre imitando el comportamiento de jsonplaceholder. Los valores a devolver por tu servidor pueden ser cualquiera, con tal de que respeten el formato de jsonplaceholder. No hagas que tu servidor consulte a su vez a jsonplaceholder, simplemente fija los valores a devolver como una constante en el fuente.
~/st/practica05/server02.py
incrementando el script anterior
con el recurso /users
Escribe un script
~/st/practica05/server03.py
incrementando el script anterior
con el recurso
/posts?userId=n
por ejemplo
/posts?userId=1
Comprueba que tu script
~/st/practica05/foro.py
puede consultar tu servidor, con solo cambiar la URI
Escribe un script
~/st/practica05/exchange.py
que devolverá el tipo de cambio del bitcoin para diversas divisas, según la siguiente especificación.
https://data.btcchina.com/data/ticker
pasando como parámetro la query string market=btccny
. La respuesta
devuelve varios precios, tomaremos el valor buy.
Pero queremos conocer otros pares, como XBTEUR, XBTUSD y algunos otros, calculados siempre a partir del precio BTCCNY.
http://api.fixer.io/latest
pasando como argumento base=CNY
. Usa tu navegador web para ver el formato
que devuelve fixer.io.
/exchange/XBTEUR
/exchange/XBTUSD
/exchange/XBTGBP
etc
amount=5.23
. Por ejemplo
/exchange/XBTEUR?amount=5.23
. Esto significará que el cliente está preguntando cuántos
euros hacen falta para comprar 5.23 bitcoins.
Modifica la práctica del apartado anterior para que la respuesta sea un objeto JSON, y el servidor mantenga una caché con las respuestas
Ejemplo: para la petición XBTGPB?amount=5.23, con un precio del bitcoin en libras de 306.03, la respuesta sería XBTGPB : 306.03, XBT : 5.23, GBP : 1600.5369
Obviamente, para poder probar que funcione correctamente, deberás usar valores mucho menores.
El número de minutos podrá tener decimales. Por ejemplo, 0.5 minutos será un valor admisible.