Java爬取南通大学教务系统信息

注意:useragent等响应头(爬教务系统好像不需要)

1、通过抓包获取学校的认证登录链接

1
http://authserver.ntu.edu.cn/authserver/login?service=http://tdjw.ntu.edu.cn/sso/jziotlogin

2、第一次发送get请求获取页面,并且解析,找到需要携带登录的参数,如lt 秘钥等等

1
{execution=e1s1, password=+MwHdbut9wc6hIxuq3XG1lHcqFjyJOUBHfuXZFB7p/sJc6SSAp0V0eRJPRg8BWPiU+cEmP8qnlQfyH7HR6iJvxKexFDXTIpnsJ+J23cmWjI=, _eventId=submit, lt=LT-623944-hbUqGmrk6OuO0jPj6mBcmPWseDuCPq1641653523202-LqSD-cas, username=1930141729, dllt=userNamePasswordLogin, rmShown=1}

3、第二次发送请求,带着需要的参数如学号密码等 发送post请求 如果登录成功会跳转,先阻止跳转,查看请求码是否是302 如果都满足的话就获取他的重定向的链接 并且获取此次请求的cookie 这里很重要!

1
{CASTGC=TGT-168457-amNCEJXhYIBJHAyI6T3rJCf4xh6l4m61UrbxCZajiIJj9kJYxG1641653717838-EIf3-cas, CASPRIVACY=, iPlanetDirectoryPro=xKdAcvwicaUnfNzcyTRg9e}

4、带着第二次请求的cookie去请求成绩的接口就行 这里也有一些参数 需要自己去爬取

成绩接口:http://tdjw.ntu.edu.cn/jwglxt/cjcx/cjcx_cxXsgrcj.html?doType=query&gnmkdm=N305005