Python中的requests.exceptions模块及其常见用法
发布时间:2023-12-25 03:48:05
在Python中,requests库是用来发送HTTP请求的一种流行的库。该库提供了requests.exceptions模块,用于捕获和处理请求过程中可能发生的异常。以下是该模块的一些常见用法和使用示例:
1. Timeout异常:
该异常表示请求超时。可以使用Timeout参数设置请求的超时时间,如果在指定时间内没有响应,将引发Timeout异常。
import requests
from requests.exceptions import Timeout
try:
response = requests.get('https://example.com', timeout=3)
except Timeout:
print("请求超时")
2. ConnectionError异常:
该异常表示请求过程中发生连接错误,比如DNS解析失败、网络不可达等。可以使用该异常来处理连接错误。
import requests
from requests.exceptions import ConnectionError
try:
response = requests.get('https://example.com')
except ConnectionError:
print("连接错误")
3. HTTPError异常:
该异常表示HTTP请求返回了非200状态码。可以使用该异常来处理请求返回的错误状态码。
import requests
from requests.exceptions import HTTPError
try:
response = requests.get('https://example.com')
response.raise_for_status()
except HTTPError as e:
print("HTTP错误状态码:", e.response.status_code)
4. TooManyRedirects异常:
该异常表示请求过程中发生了过多的重定向。可以使用该异常来处理重定向次数过多的情况。
import requests
from requests.exceptions import TooManyRedirects
try:
response = requests.get('https://example.com', allow_redirects=False)
except TooManyRedirects:
print("重定向次数过多")
5. SSLError异常:
该异常表示SSL证书验证失败。可以使用verify参数设置证书验证,如果验证失败将引发SSLError异常。
import requests
from requests.exceptions import SSLError
try:
response = requests.get('https://example.com', verify='ca.pem')
except SSLError:
print("SSL证书验证失败")
这些是requests.exceptions模块中一些常见的异常以及它们的使用示例。通过捕获和处理这些异常,我们可以更好地处理请求过程中可能发生的错误情况,提高代码的健壮性和稳定性。
