极简urlib3库Response

本文详细介绍了urllib3库中的Response类,包括其主要属性如状态码、响应头和响应体的获取,以及如何通过PoolManager或ConnectionPool的request方法获取和处理HTTP响应的实例代码。
摘要由CSDN通过智能技术生成

简要

Response 对象是 urllib3 中的核心组件之一,它代表了一个 HTTP 响应。你可以使用 Response 对象来获取 HTTP 状态码、响应头和响应体等信息。

架构

urllib3 中,Response 类封装了从服务器接收到的响应数据。它通常由 PoolManagerConnectionPoolrequest 方法返回。Response 类的主要属性包括:

  • status: HTTP 状态码(如 200、404 等)。
  • data: 响应体,通常是字节字符串。
  • headers: 响应头,一个字典。
  • reason: 状态码的文本描述。
  • url: 响应对应的请求 URL。
  • effective_url: 实际请求的 URL(可能包含重定向后的 URL)。
  • pool: 生成此响应的连接池。

内容

使用 Response 对象,你可以轻松地访问和处理 HTTP 响应。以下是一个简单的例子:

import urllib3
http = urllib3.PoolManager()
# 发送请求并获取响应
resp = http.request('GET', 'http://example.com')
# 打印状态码和响应体
print(resp.status)
print(resp.data)

代码案例

以下是一个使用 urllib3Response 对象处理 HTTP 响应的示例:

import urllib3
# 创建一个 PoolManager 实例
http = urllib3.PoolManager()
# 发送 GET 请求
resp = http.request('GET', 'http://httpbin.org/get')
# 打印状态码
print("Status:", resp.status)
# 打印响应头
print("Headers:", resp.headers)
# 打印响应体
print("Body:")
print(resp.data.decode('utf-8'))  # 将字节字符串解码为文本

在这个例子中,我们发送了一个 GET 请求到 http://httpbin.org/get,然后打印了状态码、响应头和响应体。注意,我们使用 decode('utf-8') 方法将响应体从字节字符串转换为文本字符串,因为 resp.data 返回的是字节类型。
希望这个解释能帮助你更好地理解 urllib3 中的 Response 对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吉小雨

你的激励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值