16. Défis 3 - Solution

Deux petits défis:

16.0.1. Indices :

  • Jeter un oeil sur les classes ZnEasy ou ZnClient.
  • Pour obtenir le contenu d'une requête HTML, il suffit de lui envoyer le message contents.
  • Pour convertir une chaine JSON en objets Pharo, utilisez la class STON (N'oubliez pas de regarder le cot'e class).
  • Pour définir les valeurs des variables dans une requête, utilisez le message queryAt:put:.
  • Utiliser l'inspecteur est toujours une bonne idée pour explorer les résultats et les objets obtenus.

Le poste de Terminator dans l'inspector Pharo.

16.0.2. Solutions

16.0.2.1. Obtenir les capitales
((STON fromString: (
    ZnEasy
        get: 'http://api.geonames.org/countryInfoJSON'
        username: 'demo'
        password: '') contents) at: #geonames) collect: [ : d | d at: #capital ]
16.0.2.2. Get poster of The Terminator movie

[[[ (ZnEasy getJpeg: ((STON fromString: (ZnClient new url: 'http://www.omdbapi.com/'; queryAt: 't' put: 'The Terminator'; get; contents)) at: #Poster)) inspect ]]]