gpt4 book ai didi

python - 在将数据发送到数据库之前检查互联网可用性

转载 作者:太空狗 更新时间:2023-10-30 01:31:44 24 4
gpt4 key购买 nike

我是 Python 2.7 的新手。我正在编写一个程序,在我继续使用互联网将数据发送到数据库之前,我需要检查我的 Wifi 互联网的可用性(有时互联网断开连接)。如果没有互联网连接,将跳过向数据库发送数据。我怎样才能做到这一点。这是我这样做的正确方法吗?

import urllib                                                        
#Perhaps check internet availability first
try:
import httplib
except:
import http.client as httplib

def have_internet():
conn = httplib.HTTPConnection("www.google.com", timeout=5)
try:
conn.request("HEAD", "/")
conn.close()
return True
except:
conn.close()
return False


#send data to database
data = {'date':date_mmddyyyy,'time':time_hhmmss,'airtemperature':temperature_c,'humidity':humidity_c, 'watertemperature':watertemp_c, 'phsolution':pHvalue_c, 'waterlevel':distance_c, 'CO2 concentration':CO2_c, 'TDS value':tds_c}
result = firebase.put('Region 1', 'Parameter Reading', {'date':date_mmddyyyy,'time':time_hhmmss,'airtemperature':temperature_c,'humidity':humidity_c, 'watertemperature':watertemp_c, 'phsolution':pHvalue_c, 'waterlevel':distance_c, 'CO2 concentration':CO2_c, 'TDS value':tds_c})
result2 = requests.post(firebase_url + '/' + reading_location + '/History/Parameter Reading.json', data=json.dumps(data))
print 'All parameter records are inserted.\nResult Code = ' + str(result2.status_code) + ',' + result2.text

最佳答案

我用过 requests模块。

In the event of a network problem (e.g. DNS failure, refused connection, etc), Requests will raise a ConnectionError exception.

因此您可以执行以下操作:

import requests

def is_connected():
try:
r = requests.get("http://google.com", timeout=5)
return True

except requests.exceptions.ConnectionError:
return False

请注意,它可能会引发其他异常,但这应该足以开始。

关于python - 在将数据发送到数据库之前检查互联网可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49928531/

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