【问题标题】:"CSRF token missing" when using curl with a Flask app将 curl 与 Flask 应用程序一起使用时出现“CSRF 令牌丢失”
【发布时间】:2016-05-13 16:29:40
【问题描述】:

我正在尝试使用 curl 在 Flask 应用程序上提交表单。不幸的是,我一直遇到“CSRF 令牌丢失”错误。

我试过了:

curl -X POST --form csrf_token=token --form data=@file.txt --form submit=submit {url} -v

当我在浏览器中打开它时,我使用了应用程序中的 csrf_token。我还查看了https://flask-wtf.readthedocs.org/en/latest/csrf.html 并尝试在标题中设置X-CSRFToken,但仍然遇到相同的错误。对于使用 curl 将令牌提供给烧瓶应用程序的正确方法有什么建议?

【问题讨论】:

标签: python curl flask


【解决方案1】:

问题是您只是发送令牌和烧瓶无法获取位于浏览器 cookie 中的会话。因此,如果您希望通过 curl 访问您的视图,不够在 POST 请求中传递令牌值,您必须附加 cookie。您可以使用以下命令将 cookie 写入本地文件:

curl -c /path/to/cookiefile {url}

然后修改它并向您的服务器发送 POST 请求,附带 cookie 和令牌:

curl -b /path/to/cookiefile -X POST --form csrf_token=token --form data=@file.txt --form submit=submit {url} -v 

【讨论】:

  • 也试过了,没有成功。
猜你喜欢
  • 2018-03-11
  • 2021-11-23
  • 1970-01-01
  • 2017-01-11
  • 2017-05-24
  • 2020-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多