为了账号安全,请及时绑定邮箱和手机立即绑定

检查树莓派是否连接到互联网

检查树莓派是否连接到互联网

料青山看我应如是 2021-08-05 14:50:08
我希望我的 Python 脚本检查它是否在线。在 Stack Overflow 上找到了很多答案,但由于一些奇怪的原因都失败了。场景:Raspberry Pi 3b+ 通过 Wifi 连接到我的路由器。那个路由器通过它的电缆连接到互联网我想确定 Raspberry 是否有互联网连接,以便在需要时更改它的数据源。在这里搜索了一天后,我发现大多数解决方案都使用套接字,对于更好的解决方案和最坏的解决方案(仍然试图查看它是否有任何改变,但没有)urllib.urlopen。这是我的尝试:def checkOnlineState(self, addr='http://www.google.com'):    try:        urllib2.urlopen(addr, timeout=2)        if not self._onlineMode:            print('Internet connection is back!')        self._onlineMode = True        return    except:        pass    if self._onlineMode:        print('I lost internet connection')    self._onlineMode = False我也尝试过使用套接字,所以我使用了 urllib2.urlopen 而不是socket.create_connection((addr, 80), timeout=2)要么socket.create_connection(('8.8.8.8', 0), timeout=2)无论我做什么,除了输入格式错误的 ip 或 url,都说我在线。我怎么知道?好吧,checkOnlineState 循环运行,如果我断开网线,Raspberry 仍会显示它在线!
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您知道 android 设备如何检查已连接的 wifi 是否已连接到互联网吗?是的,它只是不断地向 Google 发送消息,并希望得到预期的响应。

所以你必须做同样的事情。


查看完整回答
反对 回复 2021-08-05
  • 2 回答
  • 0 关注
  • 388 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信