Python中使用requests库处理HTTP响应状态码
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()方法等来判断请求是否成功,并处理异常情况。
