温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么利用Python实现网络测试

发布时间:2022-04-26 10:04:23 阅读:291 作者:iii 栏目:开发技术
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

今天小编给大家分享一下怎么利用Python实现网络测试的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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实现网络测试”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×