以下是详细讲解 Python 检查 URL 是否正常访问的小技巧的完整攻略:
目标
检查给定的 URL 是否正常访问,如果无法正常访问则抛出异常。
方法
这里我们可以使用 requests 库来进行网络请求,使用 try-except 语句块处理异常并抛出。
具体步骤如下:
- 安装 requests 库,可以使用 pip 安装:
pip install requests
- 导入 requests 库:
python
import requests
- 使用 try-except 语句块进行网络请求,如果出现异常则抛出:
python
try:
response = requests.get(url)
# 在这里对 response 进行处理,如判断状态码、解析内容等
except Exception as e:
raise Exception(f"访问 {url} 失败:{e}")
其中,url
为待检查的 URL。
在 try
块中,使用 requests.get
方法进行网络请求,返回的 response
对象可以用于各种操作,如获取响应状态码、解析响应内容等。
如果出现了异常,如 DNS 解析错误、连接超时等,requests.get
方法会抛出相应的异常,这时我们可以在 except
块中抛出自定义异常,以告诉调用方 URL 访问失败。
示例
下面示例中,我们将检查百度和 Google 是否能正常访问:
import requests
urls = [
'https://www.baidu.com',
'https://www.google.com',
]
for url in urls:
try:
response = requests.get(url)
print(f"{url} 访问成功,状态码为 {response.status_code}")
except Exception as e:
raise Exception(f"{url} 访问失败:{e}")
输出:
https://www.baidu.com 访问成功,状态码为 200
https://www.google.com 访问成功,状态码为 200
如果我们将 Google 的 URL 改写为 https://www.gooooogle.com
,则会输出如下的异常信息:
Traceback (most recent call last):
File "C:\Users\user\Desktop\test.py", line 12, in <module>
raise Exception(f"{url} 访问失败:{e}")
Exception: https://www.gooooogle.com 访问失败:HTTPSConnectionPool(host='www.gooooogle.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001C6BCB697C0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
可见,我们通过 try-except 语句块和 requests 库,可以方便地检查 URL 是否正常访问,并处理异常情况。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python检查URL是否正常访问的小技巧 - Python技术站