📜  raise_for_status() 请求 - Python (1)

📅  最后修改于: 2023-12-03 14:46:54.909000             🧑  作者: Mango

以'raise_for_status() 请求 - Python' 为主题的介绍

raise_for_status()是Python中用于检查HTTP请求响应状态码的方法。当使用Python的requests库发送HTTP请求并得到响应时,我们可以通过调用该方法来检查响应状态码是否为请求成功(状态码在200到299之间)。如果状态码不在此范围内,则会抛出HTTPError异常。

以下是一个示例:

import requests

response = requests.get('https://www.baidu.com')
try:
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(e)
else:
    print('Request successful!')

在上述示例中,我们先发送了一个GET请求到百度首页,然后调用raise_for_status()方法对响应进行检查。由于百度首页响应状态码在200到299之间,所以代码将输出"Request successful!"。

但是,如果我们将请求URL更改为一个404的页面,那么响应状态码将不再是200到299之间,这时raise_for_status()方法会抛出HTTPError异常,我们可以捕获并打印出相应的异常信息。

response = requests.get('https://www.baidu.com/404')
try:
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(e)
else:
    print('Request successful!')

上述代码将抛出以下异常:

404 Client Error: Not Found for url: https://www.baidu.com/404

因为发生了异常,所以代码不会执行else分支。

通过使用raise_for_status()方法,我们可以很容易地检查HTTP请求响应状态码,确保我们得到了正确的响应。