Mediante la dirección web:
https://freegeoip.app/json/
freegeoip.app nos proporciona una API de geolocalización IP. Utiliza una base de datos de direcciones IP asociadas a ciudades junto con otra información relevante como zona horaria, latitud y longitud.
La estructura del archivo JSON es:
{ "ip":"186.123.122.56", "country_code":"AR", "country_name":"Argentina", "region_code":"X", "region_name":"Córdoba", "city":"Córdoba", "zip_code":"5000", "time_zone":"America/Argentina/Cordoba", "latitude":-31.4015, "longitude":-64.1803, "metro_code":0}
Mostrar en la página el nombre del país, ciudad, código postal e ip.
Mediante la dirección web:
https://jsonplaceholder.typicode.com/users?id=[número de 1 a 10]
Recuperamos los datos de un usuario en particular. Ingresar en un formulario el id de un usuario y al presionar un botón mostrar los datos del mismo.
La estructura del archivo JSON es:
[ { "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } } ]
Problema 1. <!DOCTYPE html> <html> <head> <title>Ejemplo de JavaScript</title> <meta charset="UTF-8"> </head> <body> <div id="informacion"> </div> <script> fetch("https://freegeoip.app/json/") .then(response => response.json()) .then(datos => { document.getElementById("informacion").innerHTML = `<p>Pais:${datos.country_name}</p> <p>Ciudad:${datos.city}</p> <p>Código postal:${datos.zip_code}</p> <p>Ip:${datos.ip}</p>`; }); </script> </body> </html> Problema 2. <!DOCTYPE html> <html> <head> <title>Ejemplo de JavaScript</title> <meta charset="UTF-8"> </head> <body> <p>Ingrese el id de un usuario(entre 1 y 10): <input type="number" id="usuario"> </p> <p><button id="buscar">Buscar</button></p> <div id="informacion"> </div> <script> document.getElementById("buscar").addEventListener("click", () => { fetch("https://jsonplaceholder.typicode.com/users?id=" + document.getElementById("usuario").value) .then(response => response.json()) .then(datos => { if (datos.length == 1) document.getElementById("informacion").innerHTML = `<p>Nombre:${datos[0].name}</p> <p>Ciudad:${datos[0].email}</p> <p>Teléfono:${datos[0].phone}</p>`; else document.getElementById("informacion").innerHTML = 'No existe el usuario con id=' + document.getElementById("usuario").value; }); }); </script> </body> </html>