如何使用Python检查用户的互联网是打开还是关闭?
很多时候,在开发我们的项目时,我们需要一个解决方案来检查用户系统的互联网是打开还是关闭,下面是一些使用Python进行检查的简单解决方案。有两种方法可以实现这一点:
方法一:使用'httplib'
方法
- 我们导入了 http.client 库。
- 初始化 URL 为 www.geeksforgeeks.org
- 我们尝试与给定的 URL 建立连接。
- 仅请求网页的标题以进行快速操作。
- 如果连接打开并显示消息,则返回 True。
- 如果它不起作用并显示错误消息,则会捕获异常。
例子 :
Python3
# importing required module
import http.client as httplib
# function to check internet connectivity
def checkInternetHttplib(url="www.geeksforgeeks.org", timeout=3):
connection = httplib.HTTPConnection(url, timeout=timeout)
try:
# only header requested for fast operation
connection.request("HEAD", "/")
connection.close() # connection closed
print("Internet On")
return True
except Exception as exep:
print(exep)
return False
checkInternetHttplib("www.geeksforgeeks.org", 3)
Python3
# importing requests module
import requests
# initializing URL
url = "https://www.geeksforgeeks.org"
timeout = 10
try:
# requesting URL
request = requests.get(url, timeout=timeout)
print("Internet is on")
# catching exception
except (requests.ConnectionError, requests.Timeout) as exception:
print("Internet is off")
输出:
Internet On
方法二:使用requests.get()
方法
- 导入所需的请求模块
- 初始化 geeksforgeeks.org 的 URL
- 初始化超时为 10
- 请求给定的 URL。
- 打印“Internet is on”或将生成异常。
- 捕获异常并打印“Internet is off”
蟒蛇3
# importing requests module
import requests
# initializing URL
url = "https://www.geeksforgeeks.org"
timeout = 10
try:
# requesting URL
request = requests.get(url, timeout=timeout)
print("Internet is on")
# catching exception
except (requests.ConnectionError, requests.Timeout) as exception:
print("Internet is off")
输出:
Internet is off