python如何实现网络测试,了解一下speedtest-cli…
它是一款面向开发人员的互联网连接测量工具。Speedtest CLI 为命令行带来 Speedtest 背后的可信技术和全球服务器网络。
【阅读全文】
Speedtest CLI 专为软件开发人员、系统管理员和计算机爱好者等打造,是 Ookla® 提供技术支持的首款正式 Linux 本机 Speedtest 应用程序。
Speedtest CLI是使用python语言开发的,不仅可以直接在命令行运行。也可以作为python模块在python IDE中直接调用。
首先,看一下如何在python应用中进行调用,使用pip直接安装。
pip install speedtest-cli
将该模块直接导入到我们当前的代码块中。
import speedtest as spt
创建网络测试对象
spd = spt.Speedtest()
打印当前可用于测试的服务器列表
from pprint import pprint
pprint(spd.get_servers())
# {721.5702755019188: [{"cc": "CN",
# "country": "China",
# "d": 721.5702755019188,
# "host": "speedtest1.he.chinamobile.com:8080",
# "id": "41912",
# "lat": "38.0428",
# "lon": "114.5149",
# "name": "石家庄",
# "sponsor": "China Mobile Hebei Co., Ltd",
# "url": "http://speedtest1.he.chinamobile.com:8080/speedtest/upload.php"}],
# 776.2668436087947: [{"cc": "CN",
# "country": "China",
# "d": 776.2668436087947,
# "host": "5gtest.shangdu.com:8080",
# "id": "36646",
# "lat": "34.7466",
# "lon": "113.6253",
# "name": "Zhengzhou",
# "sponsor": "China Unicom HeNan 5G",
# "url": "http://5gtest.shangdu.com:8080/speedtest/upload.php"}],
# 1051.7168853741107: [{"cc": "MN",
# "country": "Mongolia",
# "d": 1051.7168853741107,
# "host": "speedtest.gemnet.mn:8080",
# "id": "2853",
# "lat": "47.9200",
# "lon": "106.9200",
# "name": "Ulaanbaatar",
# "sponsor": "Gemnet LLC",
# "url": "http://speedtest.gemnet.mn:8080/speedtest/upload.php"},
# {"cc": "MN",
# "country": "Mongolia",
# "d": 1051.7168853741107,
# "host": "speedtest1.kewiko.mn:8080",
# "id": "30772",
# "lat": "47.9200",
# "lon": "106.9200",
# "name": "Ulaanbaatar",
# "sponsor": "Kewiko LLC",
# "url": "http://speedtest1.kewiko.mn:8080/speedtest/upload.php"}],
# 1339.1170164273938: [{"cc": "CN",
# "country": "China",
# "d": 1339.1170164273938,
# "host": "5gnanjing.speedtest.jsinfo.net:8080",
# "id": "26352",
# "lat": "32.0500",
# "lon": "118.7667",
# "name": "Nanjing",
# "sponsor": "China Telecom JiangSu 5G",
# "url": "http://5gnanjing.speedtest.jsinfo.net:8080/speedtest/upload.php"}],
# 1340.7612716854985: [{"cc": "CN",
# "country": "China",
# "d": 1340.7612716854985,
# "host": "speedtest02.js165.com:8080",
# "id": "13704",
# "lat": "32.0602",
# "lon": "118.7968",
# "name": "Nanjing",
# "sponsor": "China Unicom",
# "url": "http://speedtest02.js165.com:8080/speedtest/upload.php"}],
# 1381.9129755930571: [{"cc": "CN",
# "country": "China",
# "d": 1381.9129755930571,
# "host": "speedtest.zjmobile.com:8080",
# "id": "17320",
# "lat": "32.2069",
# "lon": "119.4490",
# "name": "ZhenJiang",
# "sponsor": "China Mobile JiangSu 5G",
# "url": "http://speedtest.zjmobile.com:8080/speedtest/upload.php"}],
# 1489.08809618835: [{"cc": "RU",
# "country": "Russia",
# "d": 1489.08809618835,
# "host": "speedtest-ude.edinos.ru:8080",
# "id": "36254",
# "lat": "51.8336",
# "lon": "107.5840",
# "name": "Ulan-Ude",
# "sponsor": "EDINOS",
# "url": "http://speedtest-ude.edinos.ru:8080/speedtest/upload.php"}],
# 1542.170901504592: [{"cc": "RU",
# "country": "Russia",
# "d": 1542.170901504592,
# "host": "speedtest.bteleport.ru:8080",
# "id": "18543",
# "lat": "52.2757",
# "lon": "104.3087",
# "name": "Irkutsk",
# "sponsor": "Baikal Teleport",
# "url": "http://speedtest.bteleport.ru:8080/speedtest/upload.php"},
# {"cc": "RU",
# "country": "Russia",
# "d": 1542.170901504592,
# "host": "speedtest-irkutsk.fttb.beeline.ru:8080",
# "id": "31472",
# "lat": "52.2757",
# "lon": "104.3087",
# "name": "Irkutsk",
# "sponsor": "Beeline",
# "url": "http://speedtest-irkutsk.fttb.beeline.ru:8080/speedtest/upload.php"}]}
获取当前最佳的测试服务器
spd.get_best_server()
print("测试开始,请稍等...")
获得当前的下载速度
download = int(spd.download() / 1024 / 1024)
获得当前的上传速度
upload = int(spd.upload() / 1024 / 1024)
print(f"当前下载速度为:{str(download)} MB/s")
print(f"当前上传速度为:{str(upload)} MB/s")
print("测试已完成!")
打印出最终的返回结果
测试开始,请稍等...
当前下载速度为:12 MB/s
当前上传速度为:13 MB/s
测试已完成!
【往期精彩】
模型已经写好了,怎么表白就看你的了!
如何实现根据照片获取地理位置及如何防御照片泄漏地理位置!
又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧!
Python 读取PDF文件为文本字符并转换为音频…
python 获取最新房价信息-以北京房价为例
办公自动化:Image图片转换成PDF文档存储…
python做一个微型美颜图片处理器,十行代码即可完成…
用python做一个文本翻译器,自动将中文翻译成英文,超方便的!
小王,给这2000个客户发一下节日祝福的邮件…
python 一行命令开启网络间的文件共享…
PyQt5 批量删除 Excel 重复数据,多个文件、自定义重复项一键删除…
再见XShell,这款国人开源的终端命令行工具更nice!