mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
refactor: reorganize backend module boundaries
This commit is contained in:
Vendored
+72
@@ -0,0 +1,72 @@
|
||||
from app.adapters.network.http import RequestUtils
|
||||
|
||||
|
||||
class WebUtils:
|
||||
"""通过外部网络服务查询 IP 归属信息。"""
|
||||
|
||||
@staticmethod
|
||||
def get_location(ip: str):
|
||||
"""
|
||||
查询IP所属地
|
||||
"""
|
||||
return WebUtils.get_location1(ip) or WebUtils.get_location2(ip)
|
||||
|
||||
@staticmethod
|
||||
def get_location1(ip: str):
|
||||
"""
|
||||
https://api.mir6.com/api/ip
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "success",
|
||||
"data": {
|
||||
"ip": "240e:97c:2f:1::5c",
|
||||
"dec": "47925092370311863177116789888333643868",
|
||||
"country": "中国",
|
||||
"countryCode": "CN",
|
||||
"province": "广东省",
|
||||
"city": "广州市",
|
||||
"districts": "",
|
||||
"idc": "",
|
||||
"isp": "中国电信",
|
||||
"net": "数据中心",
|
||||
"zipcode": "510000",
|
||||
"areacode": "020",
|
||||
"protocol": "IPv6",
|
||||
"location": "中国[CN] 广东省 广州市",
|
||||
"myip": "125.89.7.89",
|
||||
"time": "2023-09-01 17:28:23"
|
||||
}
|
||||
}
|
||||
"""
|
||||
try:
|
||||
r = RequestUtils().get_res(f"https://api.mir6.com/api/ip?ip={ip}&type=json")
|
||||
if r:
|
||||
return r.json().get("data", {}).get("location") or ''
|
||||
except Exception as err:
|
||||
print(str(err))
|
||||
return ""
|
||||
|
||||
@staticmethod
|
||||
def get_location2(ip: str):
|
||||
"""
|
||||
https://whois.pconline.com.cn/ipJson.jsp?json=true&ip=
|
||||
{
|
||||
"ip": "122.8.12.22",
|
||||
"pro": "上海市",
|
||||
"proCode": "310000",
|
||||
"city": "上海市",
|
||||
"cityCode": "310000",
|
||||
"region": "",
|
||||
"regionCode": "0",
|
||||
"addr": "上海市 铁通",
|
||||
"regionNames": "",
|
||||
"err": ""
|
||||
}
|
||||
"""
|
||||
try:
|
||||
r = RequestUtils().get_res(f"https://whois.pconline.com.cn/ipJson.jsp?json=true&ip={ip}")
|
||||
if r:
|
||||
return r.json().get("addr") or ''
|
||||
except Exception as err:
|
||||
print(str(err))
|
||||
return ""
|
||||
Reference in New Issue
Block a user