如何从命令行获取CSRF令牌?

Naf*_*Kay 4 django django-csrf

我经常测试我的应用程序使用curl过去,我不得不简单地用我的视图包装csrf_exempt.我真的不想这样做,因为我有一种讨厌的感觉,我会忘记在部署中这样做,享受一生的CSRF地狱.

有没有办法让我使用Django的shell命令请求CSRF令牌?我希望得到一个我可以发送的令牌curl以安全地测试事物.

Pau*_*ine 9

对表单URL发出初始GET请求以填充cookie jar:

$ curl http://example.com/some-form/ -o /dev/null -c cookies.txt -s
Run Code Online (Sandbox Code Playgroud)

获取csrftokencookie 的值:

$ grep csrftoken cookies.txt | cut -f 7
YQkfXZCKtPP0hC30NmH10jSWuf6yJA5E
Run Code Online (Sandbox Code Playgroud)

发出POST时,只需包含一个csrfmiddlewaretoken具有此值的字段(并使用相同的cookie jar).

我使用相同的技巧来编写使用requests库的端到端测试.