📅  最后修改于: 2023-12-03 14:57:43.354000             🧑  作者: Mango
请求会话是一种维持状态的 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() 实现请求会话。