You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python requests库中requests.get("url").raise_for_status()作用是什么

requests.Response.raise_for_status() 方法说明

核心作用

raise_for_status()是requests库中Response对象的内置校验方法,用来自动识别请求的HTTP错误状态并抛出对应异常,避免开发者手动编写if判断区分状态码是否正常。

执行逻辑

  • 首先读取当前请求返回的status_code(HTTP状态码)
  • 若状态码为4xx客户端错误(如404资源不存在、403权限不足)或5xx服务端错误(如500服务内部错误、502网关错误),会立刻抛出requests.exceptions.HTTPError类型的异常,异常信息附带具体状态码和官方错误描述
  • 若状态码为1xx(信息类响应)、2xx(成功类响应)、3xx(重定向类响应),方法不做任何操作,代码正常向下执行

对应示例代码逻辑说明

完整示例代码如下:

import requests
from requests.exceptions import HTTPError
url = 'https://httpbin.org/'

try:
    response = requests.get(url) # 发起GET请求拉取指定URL的资源
    print(response.status_code) # 打印请求返回的HTTP状态码
    response.raise_for_status() # 触发状态码校验,有错误会直接在此处抛出异常
except HTTPError as http_err:
    # 专门捕获raise_for_status()抛出的HTTP类异常
    print(f'HTTP error occurred: {http_err}') 
except Exception as err:
    # Exception是所有Python异常的基类,这里用来捕获其他类型的异常,比如网络不通、域名解析失败等
    print(f'Other error occurred: {err}')
else:
    # 没有触发任何异常时才会进入该分支,代表请求完全成功
    print('Success!')

内容的提问来源于stack exchange,提问作者Rohan Srivastwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:18:03