我最近在研究API。它是在localhost上运行的API。它需要登录会话才能使用其功能。由于API在没有GUI的CentOS服务器上运行,因此我需要从会话中保存cookie并使用保存的cookie访问具有cURL的函数。
以下是一些使用cURL生成和登录试用的cookie。
curl --cookie-jar cookie_with_--cookie-jar_option.txt 'localhost:3000/login/cellphone?phone=[number]&password=[password]' //saving cookie with --cookie-jar option
curl --dump-header cookie_with_--dump-header_option.txt 'localhost:3000/login/cellphone?phone=[number]&password=[password]' //saving cookie with --dump-header option
使用生成的cookie文件进行一些API函数测试。
curl --cookie cookie_with_--cookie-jar_option.txt 'localhost:3000/daily_signin' //using cookie generated with --cookie-jar option
curl --cookie cookie_with_--dump-header_option.txt 'localhost:3000/daily_signin' //using cookie generated with --dump-header option
但是所有返回的“未登录”错误。当我使用浏览器访问API时,一切都很好。
后来我查看了两个选项生成的cookie文件。以下是样本。
--dump-header生成的cookie的屏幕截图
--cookie-jar生成的cookie的屏幕截图
这些cookie实在令人困惑。哪一个是完整的cookie?哪一个是从服务器返回的原始cookie?如果它们都不正确,我应该使用什么命令或选项来获取完整的cookie?
答案 0 :(得分:0)
转储标头返回HTTP请求标头。您需要获取HTTP响应标头才能看到设置的cookie。
饼干罐似乎是正确的。也就是说,如果那时没有设置MUSIC_U和_csrf。