Debugging 在基因座测试中如何保持会话和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

我不想用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.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中发送令牌