【python】raise_for_status()抛出requests.HTTPError错误
Posted on 2019-11-28 17:28 毕加索的ma 阅读(4097) 评论(0) 收藏 举报1、首先看下面代码的运行情况
import requests
res = requests.get("https://www.csdn.net/eee", headers=headers, timeout=1)
res.encoding = "utf8"
print(res.status_code)
print(res.text)
运行结果:

可见requests请求可以正常返回状态码以及html文本,并没有报错。状态码只是服务器响应的结果,而错误的状态码也是正常的响应结果。
加上try…except…再看看:

没有任何异常!响应状态码为404!
加上raise_for_status(),观察运行结果:

此时被抛出404错误!
由此可见一个错误请求(一个 4XX 客户端错误,或者 5XX 服务器错误响应),我们必须要通过使用raise_for_status() 才能抛出异常!
加上try…except…

此时抛出的异常并被第一个 requests.HTTPError 异常捕获。
浙公网安备 33010602011771号