百木园-与人分享,
就是让自己快乐。

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
测试已完成!

file

【往期精彩】

模型已经写好了,怎么表白就看你的了!

如何实现根据照片获取地理位置及如何防御照片泄漏地理位置!

又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧!

Python 读取PDF文件为文本字符并转换为音频...

python 获取最新房价信息-以北京房价为例

办公自动化:Image图片转换成PDF文档存储...

python做一个微型美颜图片处理器,十行代码即可完成...

用python做一个文本翻译器,自动将中文翻译成英文,超方便的!

小王,给这2000个客户发一下节日祝福的邮件...

python 一行命令开启网络间的文件共享...

PyQt5 批量删除 Excel 重复数据,多个文件、自定义重复项一键删除...

再见XShell,这款国人开源的终端命令行工具更nice!

欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!


来源:https://www.cnblogs.com/lwsbc/p/16191801.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python如何实现网络测试,了解一下speedtest-cli...

相关推荐

  • 暂无文章