目录:
speedtest-cli 是一个基于 Python 开发的命令行网络测速工具,它依托于 Ookla 的 Speedtest.net 服务,能够精准测量网络的上传速度、下载速度及延迟(ping)等关键性能指标。测试过程模拟了浏览器下载文件、上传视频等日常网络活动,因此结果具有较高的参考价值。
安装依赖:
$ pip install speedtest-cli -i https://pypi.tuna.tsinghua.edu.cn/simple
原理是先获取距离本地最近的服务器,然后模拟下载文件,上传文件,从而计算出网速。
import speedtest
def test_internet_speed():
# 创建 Speedtest 对象
st = speedtest.Speedtest()
print('正在获取距离当前地最近的服务器')
# 会连接到 Speedtest.net 的 API,获取全球服务器列表
# 并通过发送小的数据包(ping)测量往返时间(RTT)
# 自动选择延迟最低且稳定的服务器作为测试节点
st.get_best_server()
print('开始测试下载速度')
# 测试下载速度(单位:比特每秒)
download_speed_bps = st.download()
# 转换为更常用的兆比特每秒 (Mbps)
download_speed_mbps = download_speed_bps / 1_000_000
print('开始测试上传速度')
# 测试上传速度
upload_speed_bps = st.upload()
upload_speed_mbps = upload_speed_bps / 1_000_000
# 获取网络延迟 (ping)
ping_ms = st.results.ping
# 输出结果
print(f"延迟 (Ping): {ping_ms:.2f} ms")
print(f"下载速度: {download_speed_mbps:.2f} Mbps")
print(f"上传速度: {upload_speed_mbps:.2f} Mbps")
if __name__ == "__main__":
test_internet_speed()
↶ 返回首页 ↶