【问题标题】:Why are cookies visible in Django app browser dev tools but not via curl?为什么在 Django 应用程序浏览器开发工具中可以看到 cookie 而不是通过 curl?
【发布时间】:2020-03-08 12:40:19
【问题描述】:

我正在尝试通过 bash 脚本使用 curl 来使用 curl -c cookies.txt https://www.mydjangoapp.com/ 存储 cookie,以便我可以在后续 curl 请求中使用 CSRF 令牌(在后续命令中使用 -b cookies.txt 选项)。

但是,当我运行cat cookies.txt 查看内容时,该文件只包含以下内容:

# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

此外,当使用详细的-v 选项时,cookie 在响应中也不可见。

当我检查通过 Chrome 开发者工具返回的 cookie 时,我看到了所有我期望的 cookie。

我已验证在对其他端点运行 curl 命令时,cookies.txt 已填充 cookie。

对这可能如何发生有任何想法吗?特别是,我正在尝试获取 CSRF 令牌,但这似乎是 curl 和我的 Django 应用程序更普遍的 cookie 检索问题。

【问题讨论】:

    标签: django curl cookies django-rest-framework


    【解决方案1】:

    发生这种情况是因为在浏览器中,我已经以经过身份验证的用户身份浏览。

    当我使用 curl 访问登录端点时,cookies.txt 终于填充了我需要的 cookie。

    StackOverflow post 是解决这个问题的关键。

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 2015-09-03
      • 2017-10-01
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多