ipify es un servicio web muy útil (una API) que promete estar siempre disponible para atender a las peticiones recibidas, permitiéndonos así conocer la dirección IP pública (esto es, la IP externa) que estamos utilizando para conectar a Internet. Podemos obtener esta información como texto, o bien en formatos JSON
o XML
.
Son varias las ocasiones en las que tus aplicaciones Xojo pueden necesitar saber cuál es la dirección IP pública (o externa) en uso, y para ello existen una buena cantidad de sitios web o servicios que puedes utilizar desde Xojo.
Sin embargo, he encontrado que ipify es realmente fácil de utilizar, además de que ofrece una alta disponibilidad debido a que está hospedado en Heroku. Por ejemplo, esto significa que en el caso de que se haya caído la mitad de Internet… aun podrás acceder al servicio de ipify para obtener dicha información.
Utilizar ipify desde una aplicación desktop de Xojo es tan fácil como usar el siguiente código:
Var request as New URLConnect Var s as String = request.SendSync("GET","https://api.ipify.org",10)
Pero seguramente que en algunas ocasiones necesitarás información adicional. Por ejemplo, saber si la dirección IP ha cambiado o bien comprobar de forma periódica dicho cambio. Esto es algo que puedes hacer con el proyecto ipify para Xojo disponible en este enlace.
ipify para Xojo está diseñado como una clase Singleton, lo que significa que no tendrás que crear una nueva instancia para usarlo y obtener la dirección IP actual, saber si ha cambiado la IP o bien indicar a la clase que compruebe periódicamente si se produce algún cambio en la dirección IP, y notificando al objeto registrado de la nueva IP asignada.