Java登录方正教务管理系统并获取课程表

  • 内容
  • 评论
  • 相关

前导篇: Java登录方正教务系统

Java登录方正教务系统中,已经知道了如何登录到方正教务系统,以及在于服务器交互的过程中,Cookie的作用,还有隐藏字段_VIEWSTATE的作用,还处理了乱码问题,现在我们登录以后获取对应的课程表

需要获取的数据

通过火狐自带的抓包工具可以看到,点击信息查询->学生课表以后,浏览器通过GET方式提交xh(学号),xm(姓名),gnmkdm(固定值)等三个数据给服务器,下面我们来分别获取这三个数据

6

  • 获取xh(学号)

学号在前导篇里面属于登录时,用户输入的数据,所以这里不用获取,在登录时保存在成员变量中即可

  • gnmkdm

对于获取课表来说,这个参数为N121603

  • xm(姓名)

我们在浏览器里面可以很容易看到,页面的右上角有 欢迎您:XX同学 的提示文字,在前导篇里面,我们说了,返回码302代表着登录成功,302代表着服务器要求浏览器跳转到一个指定网址,也就是登录成功后看到的主页,所以我们可以在登录的时候,将服务器要求我们跳转的网址保存下来,访问这个网址,也就是主页,然后通过正则表达式或者String.find()方法,提取出姓名

7

我们在前导篇登录的函数中获取返回码以后,顺带获取这个字段

访问主页,获取姓名

所有数据都获取完了,接下来就是获取课表信息了

 

由于在控制台,输出只有一行,不便于查看,所以我复制到输出到记事本中,将后缀改名为.html,然后用浏览器打开,结果截图如下,接下来的就交给正则表达式搞定了,依次提取出需要的信息,这就是超级课程表一类软件的原理,模拟浏览器的行为,获取数据

8

 

 

 

 

评论

1条评论
  1. Gravatar 头像

    999 回复

    666666

发表评论

电子邮件地址不会被公开。