通过cURL登录CAS服务器

Logging on to CAS server through cURL

我正在尝试使用 cURL 登录 CAS 服务器。这是我到目前为止的位置。

我抓取了身份验证页面并将 POST 替换为 GET 以查看我的字段是什么。

file:///cas/login;jsessionid=89C2DA1B80B0C4E812F2D09CC01C05DB?username=&password=&lt=LT-2960-zIS6pxYZHdsBX7IkykfbW14oLJhdNL&execution=e1s1&_eventId=submit&submit=LOGIN

所以我运行

curl -k --cookie-jar dump --data "jsessionid=89C2DA1B80B0C4E812F2D09CC01C05DB?username=&password=&lt=LT-2960-zIS6pxYZHdsBX7IkykfbW14oLJhdNL&execution=e1s1&_eventId=submit&submit=LOGIN" https://CASHOST/cas/login > output

(明显填写用户名、密码、CASHOST)

但是我的输出是空白的。如果我删除 jsessionid 字段,它也是空白的。

让我担心的是 jsessionid 字段,因为它不断变化。

有什么想法吗?

请使用 curl -v。 可能您正在将 302 重定向到登录页面。

我正在使用领养 https://gist.github.com/dodok1/4134605 这对我来说很好,也许对你会更好。

只需要添加 &execution=e1s1 到将密码传递给 CAS 的调用。

我的工作解决方案在这里:https://gist.github.com/gkazior/4cf7e4c38fbcbc310267

您可能需要添加 -L 以使 curl 跟随重定向到 CURL_DEST