forked from sureshdsk/py-codes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathip-to-geolocation.py
36 lines (31 loc) · 1.17 KB
/
ip-to-geolocation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#Tutorial : http://www.idiotinside.com/2015/02/05/find-geolocation-of-an-ip-address-using-php-and-python/
import urllib2
import json
def getIPAddress(api_key,ip_address):
api_endpoint = "http://api.ipinfodb.com/v3/ip-city/?key=" +api_key+"&ip="+ip_address+"&format=json"
try:
api_response = urllib2.urlopen(api_endpoint)
try:
return json.loads(api_response.read())
except (ValueError, KeyError, TypeError):
return "JSON format error"
except IOError, e:
if hasattr(e, 'code'):
return e.code
elif hasattr(e, 'reason'):
return e.reason
api_key = "YOUR_API_KEY"
ip_address = "IP_ADDRESS"
data = getIPAddress(api_key,ip_address)
#print data
if data['statusCode'] == "OK":
print "IP: "+ ip_address
print "API Status:"+ data['statusCode']
print "Country:"+ data['countryName']
print "Region:"+ data['regionName']
print "City:"+ data['cityName']
print "Latitude:"+ data['latitude']
print "Longitude:"+ data['longitude']
else:
print data['statusCode']
print data['statusMessage']