如何发出POST以对站点进行身份验证,然后通过GET从命令行检索数据 - MAC
这不起作用
curl -X POST -d '{"username":"xyz","password":"xyz"}' -H "Content-Type: application/json" https://example.com/login
curl -X GET -H "Content-Type: application/json" https://example.com/getdata
答案 0 :(得分:2)
避免使用-X
,这会导致比解决的问题更多的问题。默认情况下,curl根据您提供的选项使用隐含方法。
密钥通常用于存储您获得的Cookie(使用-c
)。那是你的“会话”。通常,您需要遵循登录操作的重定向(使用-L
)。
在第二个请求中,您将加载存储在第一个命令中的cookie(使用-b
)。
这些更改的命令行最终会像这样结束:
curl -d '{"username":"xyz","password":"xyz"}' -H "Content-Type: application/json" https://example.com/login -c cookies.txt -L
curl -H "Content-Type: application/json" https://example.com/getdata -b cookies.txt