/
NikolayIvkin
/
TheAlgorithms_Python
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms_Python
Код
Запросы
2
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
web_programming/get_ip_geolocation.py
40 строк
1 KB
Maxim Smolskiy
Enable ruff S113 rule (#11375)
21 апр 2024, 20:34
Не верифицирован
21 апр 2024, 20:34
2702bf9
Код
Авторство
О чём код?
import requests # Function to get geolocation data for an IP address def get_ip_geolocation(ip_address: str) -> str: try: # Construct the URL for the IP geolocation API url = f"https://ipinfo.io/{ip_address}/json" # Send a GET request to the API response = requests.get(url, timeout=10) # Check if the HTTP request was successful response.raise_for_status() # Parse the response as JSON data = response.json() # Check if city, region, and country information is available if "city" in data and "region" in data and "country" in data: location = f"Location: {data['city']}, {data['region']}, {data['country']}" else: location = "Location data not found." return location except requests.exceptions.RequestException as e: # Handle network-related exceptions return f"Request error: {e}" except ValueError as e: # Handle JSON parsing errors return f"JSON parsing error: {e}" if __name__ == "__main__": # Prompt the user to enter an IP address ip_address = input("Enter an IP address: ") # Get the geolocation data and print it location = get_ip_geolocation(ip_address) print(location)