某域名背后的服务器都布置在国外,DNS服务器会将此域名解析到不固定的IP地址,其中某些IP地址在国内访问速度挺快,有些很慢,还有一些则根本无法访问。为提高访问的稳定性,我决定先找出访问速度最快的IP,然后修改hosts文件指向这个IP,省去DNS服务器的解析。
首先通过https://ping.chinaz.com/找出目标域名的全部IP地址,保存到txt文件中,每个IP地址占一行(也可以使用逗号分割)。然后用python3的open读入文件,用ping3包的ping函数测试每个IP地址的访问延迟,测试n次后求平均值。对于访问超时的IP地址,直接赋给它一个很长的时间,比如5000ms. 将IP地址及测试结果再写入另一个文本文件。若从未使用过ping3,请先安装:pip install ping3
代码如下:
import ping3
fread=open(r"E:\PythonDevelop\IPList.txt",'r')
fwrite=open(r"E:\PythonDevelop\IPTest.txt",'w')
TargetIP=fread.readline()
n=3
while TargetIP:
TotalTime=0.0
for k in range(n):
IPstrip=TargetIP.strip()
PingTime=ping3.ping(IPstrip,timeout=1,unit='ms')
if not PingTime:
PingTime=5

本文介绍如何使用Python的ping3库来批量测试从文本文件获取的IP地址的访问延迟,通过计算平均值确定最快IP,并将结果写入新文件。首先在https://ping.chinaz.com/获取IP地址,然后读取文件,对每个IP进行ping测试,超时IP赋予5000ms延迟,最后将结果输出。
最低0.47元/天 解锁文章
1157

被折叠的 条评论
为什么被折叠?



