也许您可以使用如下方式:
import urllib2def internet_on(): try: urllib2.urlopen('http://216.58.192.142', timeout=1) return True except urllib2.URLError as err: return False
目前,216.58.192.142是google.com的IP地址之一。
更改http://216.58.192.142
到任何可以期望快速响应的站点。
此固定IP不会永远映射到google.com。因此,此代码不够鲁棒-需要不断维护才能使其正常运行。
上面的代码使用固定IP地址而不是完全限定域名(FQDN)的原因是,FQDN需要DNS查找。当计算机没有可用的Internet连接时,DNS查找本身可能会将呼叫阻止
urllib_request.urlopen超过一秒钟。感谢@rzetterberg指出这一点。
如果上面的固定IP地址不起作用,您可以通过运行以下命令找到google.com(在Unix上)的当前IP地址:
% dig google.com +trace ...google.com. 300 IN A 216.58.192.142