Python Requests - response.reason

2025年1月5日 | 阅读 3 分钟

Python 请求包中的 response.reason 属性接受指定 HTTP 状态码的文本描述。例如,该服务可能将 404 状态码与其 HTTP 消息“Not Found”(未找到)关联起来。换句话说,您可以使用请求模块中的 response 对象来识别请求返回的消息。response.reason 属性提供了与 HTTP 状态码相对应的文本。

  1. 状态码 200 显示 OK 消息。
  2. 状态码 404 显示 Not Found(未找到)消息。
  3. 状态码 500 显示 Internal Server Error(内部服务器错误)消息。
Python Requests - response.reason

在使用 Python 的 requests 库时,我们通常会向特定 URI 发送 HTTP 请求。此请求会返回一个响应对象,该对象具有用于与从服务器接收到的数据交互的各种属性和方法。其中一个属性是 response.reason。根据服务器的状态码,我们会得到一个文本表示。让我们通过一个实际示例来理解。

注意:首先,请确保您的系统已安装 Python 和 requests 库。
之后,创建一个 Python 脚本,即 request.py,其中包含以下代码

示例

现在,将上面的代码保存为 request.py,然后在 CMD 或 VS Code 终端中运行以下命令。

输出

<Response [200]>
OK
<Response [500]>
Internal Server Error

说明

首先,我们在上面的代码中导入了 'requests' 库,以向两个 URL 发送 HTTP GET 请求。然后,根据每个 URL 请求的响应,将显示响应以及状态码和原因。

状态码和 response.reason 属性

当服务器收到 HTTP 请求时,它会响应相应的 HTTP 状态码和描述。状态码指示请求的条件;它可以是成功、重定向、客户端错误或服务器错误。我们可以通过访问 response.reason 属性轻松获取此信息。为了更好地理解,让我们再举一个例子。

示例

输出

The request is Successful! Reason: OK

说明

上面的代码向网站 'https://seowebfix.com' 发送请求并检查其状态。如果状态码是 200,它将输出:Success(成功)和 reason OK(原因 OK)。如果状态码是 404 或 500,它将输出:Not Found(未找到)或 Server Error(服务器错误)以及原因。

例如,如果我们提供一个不正确的网址,如 'https://seowebfix.com/incorrect' 而不是 https://seowebfix.com/,则会显示一条消息:“404 Page Not Found”(404 页面未找到)消息。大致如下所示:

代码

输出

The request has failed! Status code: 404, Reason: Not Found

说明

在上面的代码中,我们向 'https://seowebfix.com/vivek' 发送了一个请求。它检查响应状态码是否为 200(成功),然后打印成功消息和原因。如果状态码不是 200,它将打印失败消息以及状态码和原因。

结论

使用 Python Requests 库的 response.reason 属性来检索 HTTP 响应状态码的原因变得很容易。此功能通过为响应状态提供描述性解释,提高了代码的可读性,并使错误处理成为可能。使用 response.reason;可以轻松识别 HTTP 请求的结果。此外,它还有助于高效的故障排除,并为用户提供更准确的信息。