Python :: Aufgabe #138 :: Lösung #1
3 Lösungen
#138
Standort einer beliebigen Ip-Adresse
Anfänger - Python
von ZRX88
- 30.12.2016 um 13:04 Uhr
In Python Aufgabe 101 ( https://trainyourprogrammer.de/python-101-ermitteln-der-ip-klasse.html)
war die Aufgabenstellung für die eingegebene IP die Klasse zu bestimmen.
Viel spannender ist ( aus meiner Sicht) der Standort des Servers:
Nutzt die API https://freegeoip.net/ um den Standort der eingebenen Ip-Adresse ausgeben wird.
Beispiel:
Eingabe = 66.249.66.1
Ausgabe = Die Ip 66.249.66.1 befindet sich in dem Land US in der Stadt Mountain View, die Geo Koordinaten sind 37.4192,-122.0574
p.s. Die Beispiel Ip ist die Ip des Google Bots ;)
war die Aufgabenstellung für die eingegebene IP die Klasse zu bestimmen.
Viel spannender ist ( aus meiner Sicht) der Standort des Servers:
Nutzt die API https://freegeoip.net/ um den Standort der eingebenen Ip-Adresse ausgeben wird.
Beispiel:
Eingabe = 66.249.66.1
Ausgabe = Die Ip 66.249.66.1 befindet sich in dem Land US in der Stadt Mountain View, die Geo Koordinaten sind 37.4192,-122.0574
p.s. Die Beispiel Ip ist die Ip des Google Bots ;)
#1
von ZRX88 (2770 Punkte)
- 01.01.2017 um 17:55 Uhr
import urllib2
from urllib2 import HTTPError
input = raw_input('enter Ip')
# call API, sample input:
# input = '66.249.66.1'
try:
response = urllib2.urlopen('http://freegeoip.net/csv/%(name)s' % {'name':input})
except HTTPError:
print('the given ip %s is not valid' % input)
exit()
# parse and print
result= {}
data = response.read().split('\n')[0].split(',')
result['ip'] = data[0]
result['country_code'] = data[1]
result['city'] = data[5]
result['latitude']= data[8]
result['longitude'] = data[9]
print('The Ip %(ip)s is in country %(country_code)s, in city %(city)s, its geo coordinates are (%(latitude)s, %(longitude)s) ' % result)
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
