Расстояние между двумя ip адресами

TravkaCode.lover()

Активный
Автор темы
104
28
Админил я как то на сервере и заметил что тулс определяет расстояние между ip адресами, решил это реализовать в python. Есть библиотека которая определяет расстояние между координатами если че

code:
import requests
from math import *

def distance(Lat1, Lat2, Lon1, Lon2):
    Lon1 = radians(Lon1)
    Lon2 = radians(Lon2)
    Lat1 = radians(Lat1)
    Lat2 = radians(Lat2)

    DLon = Lon2 - Lon1 # магия тригонометрии
    DLat = Lat2 - Lat1 # магия тригонометрии
    P = sin(DLat / 2) ** 2 + cos(Lat1) * cos(Lat2) * sin(DLon / 2) ** 2 # магия тригонометрии
    Q = 2 * asin(sqrt(P)) # магия тригонометрии
    R = 6371 # радиус земли

    return (Q * R)

ip1 = input('Введите IP(1): ')
ip2 = input('Введите IP(2): ')

r = requests.get(f"http://ip-api.com/json/{ip1}")

data = r.json()
Lat1 = data['lat']
Lon1 = data['lon']
    
r2 = requests.get(f"http://ip-api.com/json/{ip2}")
data2 = r2.json()
Lat2 = data2['lat']
Lon2 = data2['lon']

result = round(distance(Lat1, Lat2, Lon1, Lon2))

print(f'Расстояние: {result} км') # результат
Можно реализовать подобное (с моего гита) -
1689005606406.png