繁体   English   中英

不同界面上的 Speedtest-cli

[英]Speedtest-cli on a different interface

我有 eth0、eth1 和 wlan0 连接到我的树莓派。 我想测量不同接口的互联网速度,在这种情况下 - eth1。 它适用于 eth0 (192.168.1.21),但如果我尝试使用不同的接口(在本例中为 eth1 (192.168.8.100)),我会收到错误消息。

我已经阅读了 Speedtest python API 文档,并且大部分是从那里复制的代码。 在 StackOverflow 上发帖之前,我也尝试过搜索。

source = "192.168.8.100" #eth1
s = speedtest.Speedtest(source_address=source)
s.get_servers()
s.get_best_server()
s.download()
s.upload()
res = s.results.dict()
download = res["download"]
upload = res["upload"]
ping = round(res["ping"])
print(download, upload, ping)

编辑:这是错误:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.8/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.8/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/root/post_test2.py", line 11, in home
    s = speedtest.Speedtest(source_address=source)
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1091, in __init__
    self.get_config()
  File "/usr/lib/python3/dist-packages/speedtest.py", line 1123, in get_config
    raise ConfigRetrievalError(e)
speedtest.ConfigRetrievalError: <urlopen error timed out>

我是 speedtest-cli 的新手,这篇文章回答了我关于如何使用不同界面的问题。 所以,谢谢你:-)

这有点猜测,但您的问题可能是由于网络路由。 您可以通过两个接口 ping 外部主机吗:

ping -I eth0 google.com
ping -I eth1 google.com

如果 eth1 超时,那么您可能需要更新您的网络路由条目。

ip route

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM