📅  最后修改于: 2023-12-03 14:46:54.909000             🧑  作者: Mango
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请求响应状态码,确保我们得到了正确的响应。