2017-03-15 2 views
0

Python-Skript zum Konvertieren einer IP-Adresse in den Ländercode. Die Informationen werden von der Website 'https://freegeoip.net/json/' abgerufen.Ländercode-Suchskript in Python

Gibt es einen besseren Weg als diesen?

import json 
import requests 
import subprocess 

# clearing the screen. 
subprocess.call('clear',shell=True) 
msg = 'country code finder' 

# Making the header. 
print('') 
print(' ',msg.upper()) 
print(' ','-' * len(msg)) 
print('') 

lookup_ip = input(' Enter Your Ip Address : ') 

# Fetching the country code from 'https://freegeoip.net/json/' 
# The reply will be in json format. 
try: 

    lookup_string = 'https://freegeoip.net/json/'+lookup_ip 
    reply = requests.get(lookup_string) 
    geodata= json.loads(reply.text) 
    print('') 
    print(' Country Is ::' , geodata['country_code']) 
    print('') 

except: 
    print(' Unable to Fetch', lookup_string) 
    print('') 
+0

Gibt es eine Frage dazu? – Cfreak

+0

Ich stimme für das Schließen dieser Frage als Off-Topic, weil es auf http://codereview.stackexchange.com/ gehört – kdopen

Antwort

1

Es gibt.

import requests 


ip = input('Enter Your Ip Address: ') 
try: 
    response = requests.get('https://freegeoip.net/json/{0}'.format(ip)) 
    response.raise_for_status() 
    json = response.json() 
    print('Country is {0}'.format(json.get('country_code', 'unknown'))) 
except: 
    print('Unable to fetch')