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

Python中的requests.exceptionsHTTPError()异常的详细分析

发布时间:2023-12-26 01:04:15

requests.exceptions.HTTPError()是requests库中的一个异常类,用于表示HTTP请求过程中发生的错误。当向服务器发送请求时,如果服务器返回了不正常的状态码(如404、500等),就会抛出HTTPError异常。

HTTPError是BaseHTTPError的子类,可以通过继承该异常类来自定义自己的HTTPError异常。它提供了以下属性和方法:

属性:

- response:HTTP响应对象,包含了服务器返回的详细信息。

方法:

- __init__: 构造方法,接受一个response对象作为参数。

- __str__: 将异常转换成字符串,默认字符串格式为"HTTPError: status_code"。

下面是一个使用HTTPError异常的例子:

import requests

try:
    response = requests.get("http://www.example.com")
    response.raise_for_status()  # 当返回的状态码不是200时抛出HTTPError异常
except requests.exceptions.HTTPError as err:
    print(f"HTTP error occurred: {err}")

在上面的例子中,使用requests库发送了一个GET请求到http://www.example.com,然后调用了response对象的raise_for_status()方法。该方法会检查HTTP响应的状态码,如果状态码不是200,则抛出HTTPError异常。最后,在except块中捕获HTTPError异常,并打印出错误信息。

需要注意的是,requests库中定义了许多其他的异常类,如ConnectionError、Timeout等,可以根据不同的需求选择适合的异常类。同时,也可以通过捕获requests.exceptions.RequestException异常来捕获所有requests库中的异常,以便统一处理。