====== Diferentes maneras de averiguar tu IP ======
Referencias:
* [[https://www.ipify.org]]
* [[http://ifconfig.co/?cmd=wget]]
* [[http://queip.es]]
ver varios ejemplos en esos sitios web, especialmente http://ifconfig.co y http://www.ipify.org
Lo interesante de [[https://www.ipify.org|IPIFY]] es que puede devolver los datos en varios formatos:
curl 'https://api.ipify.org?format=json'
aunque principalmente es ''text'' y ''json'', y tiene bilbiotecas para un rango muy amplio de lenguajes.
**BASH**: devuelve la IP como un simple texto
ip=$(curl -s https://api.ipify.org)
curl ifconfig.co
curl ifconfig.co/json
curl ifconfig.me
curl ipinfo.io/ip
wget -qO- icanhazip.com
**Usando un DNS:**
dig +short myip.opendns.com @resolver1.opendns.com
**PYTHON**:
en forma interactiva
from requests import get
ip = get('https://api.ipify.org').text
print 'My public IP address is:', ip
un ejemplo de script muy básico
#!/usr/bin/python
# -*- coding: utf-8 -*-
from requests import get
# traemos los datos en formato json, pero como es un texto
# hay que evaluarlo para que se convierta en un diccionario
# de python
ip = eval(get('http://ifconfig.co/json').text)
# imprimimos la información
print "IP: ", ip["ip"]
print "Nombre:", ip["hostname"]
print "Ciudad:", ip["city"]
print "País: ", ip["country"]
una versión más segura:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import ast
from requests import get
# traemos los datos en formato json, pero como es un texto
# hay que evaluarlo para que se convierta en un diccionario
# de python
ip = ast.literal_eval(get('http://ifconfig.co/json').text)
# imprimimos la información
print "IP: ", ip["ip"]
print "Nombre:", ip["hostname"]
print "Ciudad:", ip["city"]
print "País: ", ip["country"]