Debugging 在基因座测试中如何保持会话和CSRF令牌
我不想用hocust.io测试我的django web应用程序。在ha表单中,我有一个问题,即它是由CSRF令牌保护的。我做了以下工作:Debugging 在基因座测试中如何保持会话和CSRF令牌,debugging,csrf,locust,Debugging,Csrf,Locust,我不想用hocust.io测试我的django web应用程序。在ha表单中,我有一个问题,即它是由CSRF令牌保护的。我做了以下工作: class WebsiteTasks(TaskSet): def on_start(self): print("On start") @task def post_answer(self): self.client.get("/polls/2/vote") self.client.pos
class WebsiteTasks(TaskSet):
def on_start(self):
print("On start")
@task
def post_answer(self):
self.client.get("/polls/2/vote")
self.client.post("/polls/2/vote/", {"choice": "8"})
为什么会出现403
错误?如果帖子是fobidden,那么蝗虫文档说明客户端对象使会话保持活动状态。将代码更改为:
@task
def post_answer(self):
response = self.client.get("/polls/2/vote")
csrftoken = response.cookies['csrftoken']
self.client.post("/polls/2/vote/",
{"choice": "8"},
headers={"X-CSRFToken": csrftoken})
我在Django 1.8.5上运行蝗虫测试时遇到了这个问题,它需要向cookie、头和表单POST数据添加csrf令牌,如下所示,以避免被403所困扰。比如:
@task
def post_answer(self):
response = self.client.get("/polls/2/vote")
csrftoken = response.cookies['csrftoken']
self.client.post("/polls/2/vote/", {"choice": "8",
"csrfmiddlewaretoken": csrftoken},
headers={"X-CSRFToken": csrftoken},
cookies={"csrftoken": csrftoken})
我想这将在flask wtf上失败。我是否应该解析“session=…..”以在flask中获取csrftoken?您还需要在cookie中发送令牌