Python3 requests 模块

Requests 是一个简单、易用的 HTTP 库,它使 Python 发送 HTTP 请求变得非常简单。使用 Requests 可以发送几乎所有类型的 HTTP 请求,并且处理响应数据也十分方便。

安装 Requests

在开始使用 Requests 之前,你需要先安装它。可以使用 pip 来安装 Requests:

安装完成后,你可以通过 import requests 在你的项目中引入这个库。

发送请求

GET 请求

GET 请求是最简单的请求类型,用于从服务器获取资源。可以通过调用 requests.get() 函数来发送 GET 请求:

上述代码向 GitHub 的 API 发送了一个 GET 请求,并打印了响应的状态码和 Content-Type。

POST 请求

POST 请求通常用于向服务器提交数据。可以通过调用 requests.post() 函数来发送 POST 请求:

-- -------------------- ---- -------
------ --------

---- - -
    ------- ---------
    ------- --------
-

-------- - ---------------------------------------- ----------
--------------------

上述代码向 httpbin.org 的 POST 接口发送了一个请求,并传递了一些表单数据。然后打印了响应的内容。

其他请求方法

除了 GET 和 POST,Requests 还支持其他几种 HTTP 方法,如 PUT, DELETE, HEAD 等。可以通过调用相应的方法名来发送这些请求:

处理响应

获取响应内容

可以通过 response.textresponse.content 来获取响应的内容:

  • response.text 返回的是字符串形式的响应内容。
  • response.content 返回的是字节形式的响应内容。

解析 JSON 响应

如果服务器返回的是 JSON 数据,可以通过 response.json() 方法将 JSON 数据解析为 Python 字典:

获取响应头信息

可以通过 response.headers 属性来获取响应的头部信息:

添加请求参数

可以在 URL 中添加查询参数,或者使用 params 参数来传递参数:

上述代码将 payload 作为查询参数附加到 URL 上,并发送 GET 请求。

设置请求头

可以通过 headers 参数来设置请求头:

上述代码向指定的 URL 发送了一个带有自定义 User-Agent 的请求。

身份验证

基本认证

可以使用 auth 参数来进行基本身份验证:

OAuth 认证

对于 OAuth 认证,通常需要手动构造请求头。Requests 本身没有提供内置的支持,但可以结合其他库(如 oauthlib)来实现:

会话对象

会话对象允许你在同一个会话中保持某些参数,比如 cookies:

上述代码创建了一个新的会话对象 s,并设置了名为 sessioncookie 的 cookie,然后访问了一个包含 cookie 的 URL。

异常处理

在处理网络请求时,可能会遇到各种异常。Requests 使用 requests.exceptions 模块中的异常类来表示这些错误。可以通过捕获这些异常来处理可能出现的问题:

总结

以上是关于 Requests 模块的基础介绍和一些常用功能。Requests 提供了简单而强大的接口,使得 HTTP 请求变得更加容易。希望这篇教程能够帮助你更好地理解和使用 Requests。

上一篇: Python3 math 模块
下一篇: Python3 random 模块
纠错
反馈