当前位置: 首页 > 知识库问答 >
问题:

将curl与烧瓶应用程序一起使用时,“CSRF令牌丢失”

郎仰岳
2023-03-14

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

我试过:

curl-X POST--form csrf_token=token--form data=@file。txt——表单提交=提交{url}-v

在浏览器中打开应用程序时,我使用了应用程序中的csrf\u令牌。我还看了https://flask-wtf.readthedocs.org/en/latest/csrf.html并尝试在标头中设置X-CSRFToken,但仍然收到相同的错误。关于使用curl向flask应用程序提供令牌的正确方法,有什么建议吗?


共有1个答案

闻人昊昊
2023-03-14

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

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

然后对其进行修改,并使用附加的cookie和令牌向服务器发送POST请求

curl -b /path/to/cookiefile -X POST --form csrf_token=token --form data=@file.txt --form submit=submit {url} -v 
 类似资料:
  • 我正在使用curl来测试我的Django表单之一。我尝试过的调用(每个都有错误,为了可读性,多行调用): (1): (在cookie中使用http头和)会导致400错误,并且不会返回任何数据。 (2): (如(1)中所示,但标头属性声明中没有空格,cookie中也有)会导致相同的400错误,并且没有返回任何数据。 (3): (只有带有,没有cookie的http头)导致错误代码403,消息为:未设

  • 在过去的几周里,我花了太多的时间试图让它发挥作用。我的目标是使用烧瓶框架创建一个简单的网络应用程序,但我不断收到错误,几个小时的谷歌搜索和搜索stackoverflow也没有帮助。 我正在学习一个教程,该教程要求我运行:$python3 routes.py 只有我才能得到以下错误: 回溯(最近的最后一次调用):文件“routes.py”,第1行,从flask导入flask中,呈现\u模板导入错误:

  • 在CentOS 6.4中,我在/var/www/html/venv文件夹中创建了python虚拟环境。然后在激活虚拟环境后,我为我的flask应用程序安装了所有必要的python库。我检查了一下,Flask库位于/var/www/html/venv/lib/python2.7/site-packages文件夹中。我已经安装并加载了mod_wsgi。现在,在我的flask应用程序中(位于/var/w

  • 我已经成功地创建了我的第一个Flask应用程序,并将我的代码分为一系列蓝图,因为我的代码库将随着时间的推移而大幅增长。我现在试图嵌入一个绘图仪表板(或者只是一个绘图视觉显示)到我的应用程序中。 现在,我正在使用一个从网络上获取的玩具示例来详细学习。第二个代码块启动dash,但我的目标是将第二个代码集成到我的主flask应用程序中。暂时来说,我希望它成为主应用程序中的一条路线(稍后我将把它解析为蓝图

  • 我的GAE项目有以下目录结构: 我在insights.py文件中的import语句之前添加了以下代码: 问题是,现在我可以正确地导入第三个库,但我的无法工作。 我发送一个post请求,它返回状态200,但它不在我的@app.route代码中,我实际上可以发送任何路由,它只是返回200,但不是数据和错误。 对此有什么建议吗?提前感谢!

  • 我正在开发一个用python运行的应用程序(始终是热泵系统的控制器),我使用flask提供一个用户界面来控制应用程序。 烧瓶应用程序有不同的控制项,例如打开或关闭系统的按钮。 我试图从python模块执行一个特定的功能,以响应按钮上的“单击”(最终目标是更改mmap资源中的一个值,该值将在另一个模块中读取以更改系统的状态)。 在flask应用程序中,我有如下内容: 但是,这会产生“内部服务器错误”