-
Notifications
You must be signed in to change notification settings - Fork 1
/
ipstack.py
28 lines (22 loc) · 769 Bytes
/
ipstack.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
import sys
import os
import requests
import json
from pandas.io.json import json_normalize
def results(ipaddr):
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}
r = requests.get(
f'http://api.ipstack.com/{str(ipaddr)}?access_key=[key]&hostname=1, headers=headers'
)
return json.dumps(r.json(), indent=4)
def main(argv):
ipaddr = "ipaddr.txt"
if os.path.exists(ipaddr) and os.path.getsize(ipaddr) > 0:
with open(ipaddr, 'r') as f:
w_str = f.read().splitlines()
else:
w_str = list(sys.argv[1:])
for i in w_str:
print(results(i))
if __name__ == "__main__":
main(sys.argv)