📜  请求会话 python (1)

📅  最后修改于: 2023-12-03 14:57:43.354000             🧑  作者: Mango

请求会话(Python)

请求会话是一种维持状态的 HTTP 请求方式,可以在多个请求之间共享同一会话,从而避免每次请求都需要重新验证身份或者重新传递参数的麻烦。Python 中有多种实现方式,本文主要介绍 requests 模块中的 requests.Session()。

创建会话

要使用会话,首先需要创建一个会话对象:

import requests

session = requests.Session()
发送请求

通过会话对象发送请求,可以维持登录状态或者传递参数等:

response = session.get('http://httpbin.org/get')
response = session.post('http://httpbin.org/post', data={'data': 'example'})

使用会话对象发送的所有请求都会自动继承前面的会话信息,如果需要修改会话信息,可以通过会话对象的属性进行修改:

session.auth = ('user', 'pass')
session.headers.update({'key': 'value'})
保持会话

会话对象会自动保存 cookie,下次使用会话对象发送请求时,会自动发送保存的 cookie,从而实现状态的维持。

response = session.get('http://httpbin.org/cookies')
关闭会话

当不再需要使用会话对象时,需要及时关闭会话,释放资源:

session.close()
总结

请求会话是一种非常方便的 HTTP 请求方式,可以在多个请求之间共享同一会话,省去了重复传递参数和重新登录的麻烦。Python 中可以使用 requests 模块中的 requests.Session() 实现请求会话。