php curl 使用金智统一认证(Wisedu)登录正方教务系统

  • A+
所属分类:PHP

文章目录

偶然发现正方教务系统是支持金智统一认证登录的 /sso/jziotlogin
我们学校也接入了(但是没有公开,大家一直都用着教务系统的另一套密码登录,真心无语)

流程分析

登录完统一认证平台,然后访问 /sso/jziotlogin,看到了一堆 302
/login?service= 是金智的授权页面,会自动认证,然后把 ticket 带回 service
然后就是教务系统自己的一堆 302,点开查看头信息可以看到很多 Set-Cookie,这就是我们要的东西了,但是要注意 JSESSIONID 是会变的,我们要保留最后一次的 JSESSIONID
php curl 使用金智统一认证(Wisedu)登录正方教务系统

代码编写

我们使用上一篇获取到的统一认证 cookie 去得到 ticket(携带 cookie 访问 /login?service= 页面并从头信息 Location 中提取 ticket)
php curl 使用金智统一认证(Wisedu)登录正方教务系统
这里一定要把 FollowLocation 设置为 false 然后自行处理 302,因为 curl 不会处理保留每次跳转的 Set-Cookie
循环访问,从 header 中提取每次跳转 url 以及 cookie 并处理,直到跳转至主页面,最后一次的 cookie 就能正常访问教务系统啦
php curl 使用金智统一认证(Wisedu)登录正方教务系统
登录效果如下,成功获取 cookie 并获取空教室信息
php curl 使用金智统一认证(Wisedu)登录正方教务系统
完整代码就不贴了,已经讲得很详细了。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: