为什么cookie在Django应用浏览器开发工具中可见,但不能通过curl显示?

时间:2019-11-12 18:47:21

标签: django curl cookies django-rest-framework

我正在尝试通过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检索问题。

1 个答案:

答案 0 :(得分:0)

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

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

StackOverflow post对于弄清楚这一点至关重要。