公网的源, 有的是移动友好的,有的是电信友好的,还有些是纯 ipv6 的, 所以线路好坏依赖自身的环境
另外看你代码好像只是检测 url 的可用性
async def check_url(url: str, session: aiohttp.ClientSession):
try:
start = datetime.now()
# Use custom UA as requested
headers = {"User-Agent": "AptvPlayer/1.4.1"}
async with session.head(url, headers=headers, timeout=5, allow_redirects=True) as response:
latency = int((datetime.now() - start).total_seconds() * 1000)
return {
"url": url,
"status": response.status < 400,
"latency": latency,
"error": None
}
except Exception as e:
return {
"url": url,
"status": False,
"latency": 0,
"error": str(e)
}
如果是 m3u8 的,latency 可能误差较大,因为文件太小了