我正在使用RESTful为一个requests.Session API编写一个python。API在每个请求之后生成并返回一个新的CSRFToken。API的开发人员告诉我,我需要像这样更新会话头:
csrf = session.cookies.get('CSRFToken')
session.headers.update({'x-csrf-token': csrf})我如何在会话对象中绑定此功能,以便在每个请求之后自动调用该功能(可能是一个很好的继承解决方案),这样用户就不必在每个请求之后调用该功能了?
发布于 2021-12-03 08:03:32
下面是一个你可以做的最简单的例子:
import requests
class MySession(requests.Session):
def __init__(self):
super().__init__()
self.headers = dict()
def get(self, url):
if (c := self.cookies.get('CSRFToken')):
self.headers['x-csrf-token'] = c
return super().get(url, headers=self.headers)
with MySession() as session:
(r := session.get('https://www.google.com')).raise_for_status()https://stackoverflow.com/questions/70211005
复制相似问题