gpt4 book ai didi

django - 测试时手动获取CSRF token

转载 作者:行者123 更新时间:2023-12-04 03:39:53 29 4
gpt4 key购买 nike

我有一个测试,我正在检查一些身份验证行为。在这个测试中,我需要明确检查 CSRF 行为,所以我使用了一个测试客户端 enforce_csrf_checks设置为 True :

self.csrf_client = Client(enforce_csrf_checks=True)

我的问题是,对我来说,手动获取 CSRF token 与我将要向该客户端发出的 POST 请求一起发送的最简单方法是什么?

是定义返回 csrf(request) 的自定义测试 View 的最佳选择,向该 View 发出请求,提取 CSRF token ,然后在 POST 请求中使用它,或者是否有一些更简单的方法可以获得 CSRF token 以供使用?

最佳答案

我知道这是一个老问题,但我在寻找解决方案时偶然发现了这个问题,现在我想分享我的解决方案,以防其他人对此有疑问。

在您登录并访问它后,CSRF token 确实存储在 cookie 中,我必须执行以下操作:

self.client = Client(enforce_csrf_checks=True)
self.client.login(username='temporary', password='temporary')
self.client.get("/url_to_the_form/")
csrf_token = self.client.cookies['csrftoken'].value

关于django - 测试时手动获取CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8964501/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com