欢迎访问宙启技术站
智能推送

Python中使用requests库处理HTTP响应状态码

发布时间:2024-01-17 21:33:26

requests库是Python中一个常用的HTTP库,用于发送HTTP请求和处理HTTP响应。它提供了简单易用的接口,可以方便地发送GET、POST和其他HTTP请求,并可以获取响应的状态码、响应头和响应体。

在requests库中,可以使用status_code属性来获取HTTP响应的状态码。状态码是一个三位数的整数,表示服务器对请求的响应状态。常见的状态码有:

- 200:请求成功

- 301:永久重定向

- 302:临时重定向

- 400:请求无效

- 401:未授权

- 403:禁止访问

- 404:资源不存在

- 500:服务器内部错误

下面是一个使用requests库处理HTTP响应状态码的例子:

import requests

# 发送GET请求
response = requests.get("http://www.example.com")

# 获取响应状态码
status_code = response.status_code

# 判断请求是否成功
if status_code == 200:
    print("请求成功")
elif status_code == 404:
    print("资源不存在")
else:
    print("请求失败,状态码:", status_code)

在上面的例子中,我们首先使用requests库发送了一个GET请求,然后通过response对象的status_code属性获取了响应的状态码。接着,我们根据不同的状态码输出不同的结果。

另外,requests库还提供了一些方便的方法来判断状态码是否属于某个特定的类别,比如:

- response.ok:返回True,表示响应状态码在200到400之间,表示请求成功

- response.raise_for_status():如果响应状态码不是200,会抛出一个异常

下面是使用这些方法的示例:

import requests

# 发送GET请求
response = requests.get("http://www.example.com")

# 判断请求是否成功
if response.ok:
    print("请求成功")
else:
    print("请求失败,状态码:", response.status_code)

# 如果状态码不是200,则抛出一个异常
response.raise_for_status()

在这个例子中,我们首先使用response.ok来判断响应状态码是否在200到400之间,表示请求成功。然后,我们使用response.raise_for_status()方法来检查响应状态码,如果不是200,则会抛出一个异常。这样可以用来判断请求是否成功,并处理异常情况。

总的来说,使用requests库处理HTTP响应状态码非常简单和方便。可以通过status_code属性获取响应的状态码,并可以使用ok属性、raise_for_status()方法等来判断请求是否成功,并处理异常情况。