欢迎访问宙启技术站
智能推送

Python中的requests.exceptions模块使用方法详解

发布时间:2024-01-11 18:06:26

requests.exceptions模块是requests库中定义的一些异常类,用于处理请求过程中的异常情况。在使用requests库发送请求时,如果发生异常,会抛出对应的异常类,我们可以通过捕获这些异常来处理异常情况。

该模块中定义的异常类包括以下几个:

1. RequestException:基础异常类,是其他异常类的父类。当发生请求时的异常,就会抛出该异常。

2. ConnectionError:连接错误异常类。如果发生连接错误,比如DNS查询失败、拒绝连接等,就会抛出该异常。

3. HTTPError:HTTP错误异常类。如果HTTP请求返回的状态码不是200,就会抛出该异常。

4. Timeout:超时异常类。如果请求超时,就会抛出该异常。

5. TooManyRedirects:重定向次数过多异常类。如果请求重定向次数超过设定的最大值,就会抛出该异常。

下面是这几个异常类的使用方法以及示例:

1. RequestException的使用:

import requests
from requests.exceptions import RequestException

try:
    response = requests.get(url)
except RequestException as e:
    print("请求异常:", e)

2. ConnectionError的使用:

import requests
from requests.exceptions import ConnectionError

try:
    response = requests.get(url)
except ConnectionError as e:
    print("连接异常:", e)

3. HTTPError的使用:

import requests
from requests.exceptions import HTTPError

try:
    response = requests.get(url)
    response.raise_for_status()  # 如果状态码不是200,会抛出HTTPError异常
except HTTPError as e:
    print("HTTP错误:", e)

4. Timeout的使用:

import requests
from requests.exceptions import Timeout

try:
    response = requests.get(url, timeout=3)  # 设置超时时间为3秒
except Timeout as e:
    print("请求超时:", e)

5. TooManyRedirects的使用:

import requests
from requests.exceptions import TooManyRedirects

try:
    response = requests.get(url, allow_redirects=False)  # 禁止重定向
except TooManyRedirects as e:
    print("重定向次数过多:", e)

通过捕获这些异常类,我们可以根据具体的异常情况进行特定的处理,比如重新发送请求、输出错误信息等。这样可以提高程序的稳定性和健壮性。

以上就是requests.exceptions模块的使用方法以及示例,希望对你有所帮助!