我正在尝试通过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检索问题。
答案 0 :(得分:0)
之所以发生这种情况,是因为在浏览器中,我已经以经过身份验证的用户身份浏览。
当我使用curl访问登录端点时,cookies.txt
最终被我需要的cookie填充。
此StackOverflow post对于弄清楚这一点至关重要。