#! /usr/bin/env python # -*- coding: utf-8 -*- #============================================================================== # qlochost.py - localiza un host # A partir de una idea vista en: http://www.pythondiario.com #------------------------------------------------------------------------------ # FJA - fja@neocipres.com Febrero de 2019 #============================================================================== import sys import requests import socket import json import androidhelper def muestramsg(titulo, msg): droid.dialogCreateAlert(titulo, msg) droid.dialogSetPositiveButtonText('Aceptar') droid.dialogShow() def ip_scraping(ip=""): # Nos conectamos con la API res = requests.get(api_url + ip, data=data) # Obtenemos y procesamos la respuesta JSON api_json_res = json.loads(res.content) return api_json_res # URL de la API api_url = "http://ip-api.com/json/" # Definimos los parametros de respuesta que queremos obtener parametros = 'status,country,countryCode,region,regionName,city,zip,\ lat,lon,timezone,isp,org,as,query' data = {"fields": parametros} droid = androidhelper.Android() if __name__ == '__main__': try: # Solicitamos la entrada entrada = droid.dialogGetInput("Host", "Por ejemplo: gnu.org") host = str(entrada.result) ip = socket.gethostbyname(host) droid.makeToast("Obteniendo datos de %s" % host) # Llamamos a la función ip_scraping y mostramos los resultados info = 'IP: ' + str(ip) info = info + '\n' par = parametros.split(",") for x in par: info = info + str(x.upper()) + ": " + str(ip_scraping(ip)[x]) + '\n' muestramsg(host, info) except Exception as e: msg = str(e) + ' ' + str(sys.exc_info()[0]) muestramsg('Error', msg)