gpt4 book ai didi

python - 使用 Python 检查互联网连接

转载 作者:行者123 更新时间:2023-12-02 04:51:39 24 4
gpt4 key购买 nike

我正在开发一个使用互联网的应用程序,因此我需要检查应用程序加载时是否有互联网连接,因此我使用此函数:

def is_connected():

try:
print "checking internet connection.."
host = socket.gethostbyname("www.google.com")
s = socket.create_connection((host, 80), 2)
s.close()
print 'internet on.'
return True

except Exception,e:
print e
print "internet off."
return False

有时,尽管有互联网连接,但仍会失败,并显示“超时”。我还尝试使用 urllib2 向 Google 发送请求,但它花费了时间并且也超时了。有更好的方法吗?我使用的是 Windows 7 和 Python 2.6.6。

最佳答案

你应该做类似的事情

def check_internet():
for timeout in [1,5,10,15]:
try:
print "checking internet connection.."
socket.setdefaulttimeout(timeout)
host = socket.gethostbyname("www.google.com")
s = socket.create_connection((host, 80), 2)
s.close()
print 'internet on.'
return True

except Exception,e:
print e
print "internet off."
return False

甚至更好(主要取自评论中链接的其他答案)

def internet_on():
for timeout in [1,5,10,15]:
try:
response=urllib2.urlopen('http://google.com',timeout=timeout)
return True
except urllib2.URLError as err: pass
return False

关于python - 使用 Python 检查互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28752174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com