speedtest-cli网络测速

本文介绍如何使用speedtest-cli工具在Linux环境下进行网络测速,包括直接测试、通过图片分享结果、列出Speedtest.net服务器列表以及选择特定服务器进行测试等操作。同时展示了如何将测试结果以图片形式输出,方便分享和记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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脚本文件。

 
  1. $ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
  2. $ chmod +x speedtest_cli.py

为该脚本增加可执行权限即可运行,如果想直接运行命令就可以执行的话,可以将其移到bin目录下即可。

二、speedtest-cli测试网速

1、不加任何参数直接执行

 
  1. yang@crunchbang:/tmp$ python speedtest_cli.py
  2. Retrieving speedtest.net configuration...
  3. Retrieving speedtest.net server list...
  4. Testing from WASU TV & Communication Holding Co.,Ltd. (58.100.45.111)...
  5. Selecting best server based on ping...
  6. Hosted by China Mobile Jiangsu Co., Ltd. (Suzhou) [124.58 km]: 17.722 ms
  7. Testing download speed........................................
  8. Download: 3.72 Mbit/s
  9. Testing upload speed..................................................
  10. Upload: 3.88 Mbit/s

是不是发现很强大,其检测出我的网络是华数网络,自动选择了离我主机最近位于江苏苏州的speedtest.net主机进行测试,并将我的网络的上下行结果进行输出。

2、将测试结果通过图片分享

 
  1. yang@crunchbang:/tmp$ python speedtest_cli.py --share
  2. Retrieving speedtest.net configuration...
  3. Retrieving speedtest.net server list...
  4. Testing from WASU TV & Communication Holding Co.,Ltd. (58.100.45.111)...
  5. Selecting best server based on ping...
  6. Hosted by China Telecom (Shanghai) [168.66 km]: 16.292 ms
  7. Testing download speed........................................
  8. Download: 3.06 Mbit/s
  9. Testing upload speed..................................................
  10. Upload: 1.65 Mbit/s
  11. Share results: http://www.speedtest.net/result/3358961164.png

其本输出和上面没什么区别,不过在最后多了一个图片的链接页面,图片内容如下:

speedtest

3、列出speedtest.net的服务器(离距离远近的顺序)

 
  1. yang@crunchbang:/tmp$ python speedtest_cli.py --list|more
  2. Retrieving speedtest.net configuration...
  3. Retrieving speedtest.net server list...
  4. 3927) China Mobile Jiangsu Co., Ltd. (Suzhou, China) [124.58 km]
  5. 3633) China Telecom (Shanghai, China) [168.66 km]
  6. 4490) China Telecom Anhui Co.,Ltd (Wuhu, China) [203.24 km]
  7. 4377) China Mobile Group Anhui Co.,Ltd (Hefei, China) [320.21 km]
  8. 4433) China Telecom Anhui Co.,Ltd (Hefei, China) [320.21 km]
  9. 4543) China Mobile Group Fujian MCC Co. Ltd. (Fuzhou, China) [474.25 km]
  10. 3921) Taiwan Fixed Network (Taoyuan, Taiwan) [589.71 km]
  11. 2589) Far EasTone Telecommunications Co., Ltd (Taoyuan, Taiwan) [589.71 km]
  12. 3967) Chief Telecom (Taipei, Taiwan) [600.87 km]
  13. 2133) Taiwan Fixed Network (Taipei, Taiwan) [600.87 km]
  14. 2327) Far Eastone Telecommunications Co., Ltd. (Taipei, Taiwan) [600.87 km]
  15. 2181) kbro CO.LTD (Taipei, Taiwan) [600.87 km]

后面还有更多的服务器,这里省略了没列全。

4、选择服务器进行测速

 
  1. yang@crunchbang:/tmp$ python speedtest_cli.py --server 3633
  2. Retrieving speedtest.net configuration...
  3. Retrieving speedtest.net server list...
  4. Testing from WASU TV & Communication Holding Co.,Ltd. (58.100.45.111)...
  5. Hosted by China Telecom (Shanghai) [168.66 km]: 23.286 ms
  6. Testing download speed........................................
  7. Download: 3.47 Mbit/s
  8. Testing upload speed..................................................
  9. Upload: 3.67 Mbit/s
如上图所示,我选择了上海的服务器进行测试,后面的ID值就是我们用list参数查看的服务器的ID 。
### 关于 `speedtest-cli` 的使用指南和安装教程 #### 什么是 `speedtest-cli` `speedtest-cli` 是一个基于命令行的开源工具,允许用户测试互联网连接的速度。它通过调用 Ookla 提供的服务来测量上传速度、下载速度以及延迟等指标。 --- #### 安装方法 以下是几种常见的安装方式: 1. **通过 Python 包管理器 pip 安装** 如果系统已安装 Python 和 pip,则可以直接运行以下命令完成安装: ```bash pip install speedtest-cli ``` 此方法适用于大多数操作系统,并且可以自动处理依赖项[^1]。 2. **手动安装** 对于无法使用 pip 的环境,可以从 GitHub 下载最新版本并手动安装: - 访问官方仓库地址:https://github.com/sivel/speedtest-cli- 克隆或下载压缩包到本地后解压至目标目录。 - 执行以下命令以验证安装成功与否: ```bash ./speedtest-cli --version ``` 3. **其他平台特定的方法** 部分 Linux 发行版可能提供预编译软件包,例如 Ubuntu 用户可通过 APT 获得: ```bash sudo apt update && sudo apt install speedtest-cli ``` --- #### 使用方法 安装完成后即可在终端中直接调用该工具。下面是一些常用的选项及其功能说明: - 测试网络性能: ```bash speedtest-cli ``` 默认情况下会显示当前设备的最佳服务器选择结果,包括 ping 时间、上行速率与下行速率。 - 查看可用参数列表: ```bash speedtest-cli --help ``` 输出的内容涵盖了所有支持的功能开关描述。 - 自定义服务器位置: 若希望指定某个地理位置附近的节点作为参照标准而非默认推荐值的话,需先获取对应 ID 编号再传入如下形式的语句结构之中实现定位操作: ```bash speedtest-cli --server=<SERVER_ID> ``` - JSON 格式的输出数据便于解析集成到第三方应用当中去: ```bash speedtest-cli --json ``` 上述每一步骤均附带相应实例演示以便更直观理解实际应用场景下的运用技巧[^2]。 --- #### 故障排查提示 如果遇到任何错误消息或者行为异常现象时,请尝试按照下列建议逐一排除可能性原因所在之处直至恢复正常为止: - 确认是否具备有效的 Internet 接入权限; - 更新至最新稳定发行版本重新部署一遍流程步骤; - 检查防火墙设置是否有阻止外部访问请求的情况发生; 最后记得查阅官方文档获得更多技术支持资源链接网址信息来源出处标记为参考文献编号之一即^[]^。 ```python import subprocess def run_speed_test(): try: result = subprocess.run(['speedtest-cli', '--simple'], capture_output=True, text=True) return result.stdout.strip() except Exception as e: return f"Error occurred: {e}" print(run_speed_test()) ``` 此段脚本展示了如何利用 Python 调用 `subprocess` 模块执行 shell 命令从而自动化抓取测速报告内容返回给调用方进一步分析处理用途广泛适用性强易于扩展维护成本低效率高效果显著值得推广采用实践检验真理价值非凡意义重大影响深远前景广阔未来可期期待您的加入共同创造美好明天! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值