python requests.session的用法

2023-03-11 00:00:00 python 用法 requests

在 Python 的 requests 库中,可以使用 requests.Session() 方法创建一个会话对象,以便在多个请求之间共享 cookie 和其他参数。

以下是创建会话对象并发送 GET 请求的示例:

import requests

url = 'http://pidancode.com'
session = requests.Session()
response = session.get(url)

在此示例中,我们创建了一个会话对象并使用 get 方法发送了一个 GET 请求。requests 库将自动管理 cookie 和其他参数,以确保它们在会话期间持久化。我们可以使用会话对象发送其他请求,以便共享这些参数。

以下是在会话对象中发送 POST 请求的示例:

import requests

url = 'http://pidancode.com/login'
session = requests.Session()
data = {'username': 'john', 'password': 'secret'}
response = session.post(url, data=data)

在此示例中,我们创建了一个会话对象并使用 post 方法发送了一个 POST 请求。我们还提供了一个包含用户名和密码的字典对象 data,这些数据将被编码为请求正文。

使用会话对象发送请求的好处之一是可以避免重复设置 URL 和其他参数。如果我们需要发送多个请求到同一网站,可以在会话对象中设置公共参数,以便它们被自动应用于每个请求。例如:

import requests

url = 'http://pidancode.com/api'
session = requests.Session()
session.headers.update({'Authorization': 'Bearer TOKEN'})
response1 = session.get(url + '/users')
response2 = session.get(url + '/orders')

在此示例中,我们使用会话对象发送了两个 GET 请求,每个请求都包含一个授权标头。我们只需一次设置该标头,并将其添加到会话对象的标头中。然后,我们可以使用 URL 的相对路径发送多个请求,并且每个请求都将自动包含授权标头。

相关文章