【www.bbyears.com--python】
speedtest-cli是speedtest.net提供的一个python工具,就于网络测速。而且其还可以通过将测试的结果以图片的方式展线出来。这里插点题外话,speedtest.net也提供在线测速——通过web进行测试,原理是在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and POST请求来测试上行/下行网速。
一、安装speedtest-cli
speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行。它基于
Speedtest.net的基础架构来测量网络的上/下行速率。安装speedtest-cli很简单——只需要下载其Python脚本文件。
$ chmod +x speedtest_cli.py
www.111cn.net
为该脚本增加可执行权限即可运行,如果想直接运行命令就可以执行的话,可以将其移到bin目录下即可。
二、speedtest-cli测试网速
1、不加任何参数直接执行
代码如下 yang@crunchbang:/tmp$ python speedtest_cli.py
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from WASU TV & Communication Holding Co.,Ltd. (58.100.45.111)...
Selecting best server based on ping...
Hosted by China Mobile Jiangsu Co., Ltd. (Suzhou) [124.58 km]: 17.722 ms
Testing download speed........................................
Download: 3.72 Mbit/s
Testing upload speed..................................................
Upload: 3.88 Mbit/s
是不是发现很强大,其检测出我的网络是华数网络,自动选择了离我主机最近位于江苏苏州的speedtest.net主机进行测试,并将我的网络的上下行结果进行输出。
2、将测试结果通过图片分享
代码如下 yang@crunchbang:/tmp$ python speedtest_cli.py --share
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from WASU TV & Communication Holding Co.,Ltd. (58.100.45.111)...
Selecting best server based on ping...
Hosted by China Telecom (Shanghai) [168.66 km]: 16.292 ms
Testing download speed........................................
Download: 3.06 Mbit/s
Testing upload speed..................................................
Upload: 1.65 Mbit/s
Share results: http://www.speedtest.net/result/3358961164.png
其本输出和上面没什么区别,不过在最后多了一个图片的链接页面,图片内容如下:
speedtest
3、列出speedtest.net的服务器(离距离远近的顺序)
代码如下 yang@crunchbang:/tmp$ python speedtest_cli.py --list|more
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [124.58 km]
3633) China Telecom (Shanghai, China) [168.66 km]
4490) China Telecom Anhui Co.,Ltd (Wuhu, China) [203.24 km]
4377) China Mobile Group Anhui Co.,Ltd (Hefei, China) [320.21 km]
4433) China Telecom Anhui Co.,Ltd (Hefei, China) [320.21 km]
4543) China Mobile Group Fujian MCC Co. Ltd. (Fuzhou, China) [474.25 km]
3921) Taiwan Fixed Network (Taoyuan, Taiwan) [589.71 km]
2589) Far EasTone Telecommunications Co., Ltd (Taoyuan, Taiwan) [589.71 km]
3967) Chief Telecom (Taipei, Taiwan) [600.87 km]
2133) Taiwan Fixed Network (Taipei, Taiwan) [600.87 km]
2327) Far Eastone Telecommunications Co., Ltd. (Taipei, Taiwan) [600.87 km]
2181) kbro CO.LTD (Taipei, Taiwan) [600.87 km]
后面还有更多的服务器,这里省略了没列全。
4、选择服务器进行测速
代码如下 yang@crunchbang:/tmp$ python speedtest_cli.py --server 3633
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from WASU TV & Communication Holding Co.,Ltd. (58.100.45.111)...
Hosted by China Telecom (Shanghai) [168.66 km]: 23.286 ms
Testing download speed........................................
Download: 3.47 Mbit/s www.111cn.net
Testing upload speed..................................................
Upload: 3.67 Mbit/s
如上图所示,我选择了上海的服务器进行测试,后面的ID值就是我们用list参数查看的服务器的ID 。