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 异常捕获。
原文地址:https://www.cnblogs.com/paulwinflo/p/11951493.html
时间: 2024-10-24 19:23:27