ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   Расстояние между двумя ip адресами (https://forum.antichat.xyz/showthread.php?t=1482366)

TravkaCode.lover() 10.07.2023 20:11

Админил я как то на сервере и заметил что тулс определяет расстояние между 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}км'
)
# результат



Можно реализовать подобное (с моего гита) -

https://forum.antichat.xyz/attachmen...c3e7c90d2d.png


Время: 00:02