我正在尝试使用pyspeedtest来获取连接的上载/下载速度,但我不断收到以下无法解决的错误:
import pyspeedtest
st = pyspeedtest.SpeedTest()
st.download()
Exception: Cannot find a test server
任何建议/见解都将受到欢迎!
答案 0 :(得分:5)
如果您将脚本的v1.2.7中的186行上的pyspeedtest.py文件中的URL从www.speedtest.net更改为c.speedtest.net,则它确实起作用。
编辑:添加了一个如何使其工作的示例
您可以使用vi编辑pyspeedtest.py脚本(位于我的raspberry pi 3上的/usr/local/lib/python2.7/dist-packages/pyspeedtest.py中),例如:
sudo vi /usr/local/lib/python2.7/dist-packages/pyspeedtest.py
转到第186行并更改以下行:
connection = self.connect('www.speedtest.net')
收件人:
connection = self.connect('c.speedtest.net')
然后使用/ usr / local / bin中的包装器运行pyspeedtest:
/usr/local/bin/pyspeedtest
Using server: speedtest.wilkes.net
Ping: 41 ms
Download speed: 46.06 Mbps
Upload speed: 11.58 Mbps
或使用python解释器:
>>> import pyspeedtest
>>> st = pyspeedtest.SpeedTest()
>>> st.ping()
41.70024394989014
>>> st.download()
44821310.72337018
>>> st.upload()
14433296.732646577
答案 1 :(得分:3)
该项目自2016年中以来未更新。最后更新是updated user-agent to prevent SpeedTest block...,如果您浏览了代码,则有[类似这样的注释]:(https://github.com/fopina/pyspeedtest/blob/master/pyspeedtest.py#L188)
# really contribute to speedtest.net OS statistics
# maybe they won't block us again...
并且有bugs posted to GitHub关于该项目无法正常运行,没有任何回应。
因此,我的猜测是:该项目可能违反SpeedTest.net的服务条款,因此他们将其阻止。作者试图绕开障碍物,他们再次将其阻挡,然后作者放弃了。在随后的两年中,它用作备份的任何其他服务器都将其阻止或关闭(例如,文档中提到的speedtest.serv.pt不再存在)。
有a pull request from another user可能会解决它,尽管它似乎未通过CI测试。如果您想自己尝试,可以。
但是,否则,您将无法使用该库,并且任何人都无法帮助您使用它。只是不起作用。您将必须找到另一种方法来做同样的事情。