py requests库

晨曦

requests 库是 Python 中一个用于发送 HTTP 请求的第三方库。它提供了一个简单、直观的 API,使得发送 HTTP 请求和处理响应变得非常容易。以下是对 requests 库的详细介绍:

一、简介

requests 库旨在让 HTTP 请求变得简单。它基于 urllib3 库,但提供了更高级别的接口,使得开发者无需直接处理底层的套接字或连接池等细节。requests 库支持各种 HTTP 请求方法(如 GET、POST、PUT、DELETE 等),并允许自定义请求头、参数、超时设置等。

二、安装

requests 库可以通过 Python 的包管理器 pip 进行安装。在命令行中运行以下命令即可:

pip install requests

三、主要功能

  1. 发送 HTTP 请求

    • requests.get(url, **kwargs):发送 GET 请求。
    • requests.post(url, data=None, json=None, **kwargs):发送 POST 请求,可以传递表单数据或 JSON 数据。
    • requests.put(url, data=None, **kwargs):发送 PUT 请求,用于更新资源。
    • requests.delete(url, **kwargs):发送 DELETE 请求,用于删除资源。
    • 其他 HTTP 方法(如 HEAD、OPTIONS)也有相应的函数。
  2. 处理响应

    • 响应对象包含了许多有用的方法和属性,如 status_code(状态码)、headers(响应头)、text(响应体,解码后的字符串)、content(响应体,原始的字节流)等。
    • 可以使用 response.json() 方法将 JSON 格式的响应体解析为 Python 字典。
  3. 自定义请求

    • 可以使用 params 参数传递 URL 查询参数。
    • 可以使用 headers 参数自定义请求头。
    • 可以使用 cookies 参数传递 cookies。
    • 可以使用 auth 参数进行身份认证。
    • 可以使用 timeout 参数设置请求超时时间。
    • 可以使用 proxies 参数设置代理服务器。
  4. 会话对象

    • 使用 requests.Session() 可以创建一个会话对象,用于保持某些参数(如 cookies 和 headers)的一致性,并在同一会话中发送多个请求。
  5. 异常处理

    • requests 库提供了异常处理机制,可以捕获如 requests.exceptions.RequestExceptionrequests.exceptions.HTTPErrorrequests.exceptions.ConnectionError 等异常。

四、优点

  • 简单易用requests 库的 API 设计简洁明了,使得发送 HTTP 请求和处理响应变得非常容易。
  • 功能强大:支持各种 HTTP 请求方法、自定义请求头、参数、超时设置等高级功能。
  • 自动处理 cookies:会话对象可以自动处理 cookies,使得在同一会话中发送多个请求时无需手动管理 cookies。
  • 异常处理:提供了丰富的异常处理机制,方便开发者捕获和处理各种网络请求异常。

五、示例

以下是一个简单的示例,展示了如何使用 requests 库发送 GET 请求并处理响应:

import requests

# 发送 GET 请求
response = requests.get('https://api.example.com/data')

# 检查状态码
if response.status_code == 200:
# 获取响应体并解码为字符串
data = response.text
# 或者使用 response.json() 方法解析 JSON 格式的响应体
# data = response.json()
# 处理数据...
else:
# 处理错误状态码...
print('Error:', response.status_code)
  • 标题: py requests库
  • 作者: 晨曦
  • 创建于 : 2024-11-30 23:52:50
  • 更新于 : 2025-01-14 03:24:47
  • 链接: https://blog.starlit.icu/2024/11/30/python/py-requests/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论