正方教务系统课程表开发
时间: 下载该word文档
精品文档
课表开发流程
用户通过教务处查询到课表的流程如下:
1、访问教务处登陆页面,填写用户名、密码和验证码,提交,进入教务处。2、找到查询课表的地方,点击进入。这几步实际上也就是对教务处的请求操作,只是通过浏览器实现罢了。我们通过开发实现该流程步骤如下:1、模拟登陆、2、读取课表页面、3、解析课表页面得到课表数组数据。以下以淮阴师范学院(正方系统)为例进行介绍,其中模拟登陆和获取课表页面可以通过浏览器的交互来进行解释:一、模拟登陆
这一步的主要作用就是获取cookie,因为访问获取课表页面时服务器端会对是否已经登陆这一项进行验证。首先访问登录页面http://202.195.113.149/default2.aspx,输入用户名、密码、验证码,点击“登陆”按钮。>>>>
这一过程其实就是发送一个post请求:>>>>
其中需要的参数如下:
.
精品文档
1、用户名、密码,由用户自己输入;对于验证码,我们只需要访问对应的验证码地址,然后将验证码呈现给用户,供用户自己输入即可。验证码的地址可以通过在图片上右击,在出现的快捷菜单中点击“复制图片地址”获得:>>>>
2、RadioButtonList1,Button1参数的值是固定的,分别对应与页面上的两个input,可以直接复制:>>>>
.
精品文档
>>>>
3、__VIEWSTATE和__EVENTVALIDATION,这两个参数是页面上的隐藏域,通过查看页面的源代码可以看到:>>>>
所以我们需要做的事情如下:
一、访问登陆页面,得到隐藏域的信息:>>>>
.
精品文档
>>>>
二、将用户名、密码、验证码的输入框和验证码呈现给用户,让用户填写如下信息,提交表单>>>>
三、将隐藏域信息、用户名、密码、验证码和固定参数拼凑起来,作为登录请求时提交的参数,发送登陆请求:
.
精品文档
>>>>
四、通过解析登陆返回的结果得到cookie信息:>>>>
二、访问课表页面界面操作方式如下:>>>>
这个过程相当于get方式请求http://202.195.113.149/xskbcx.aspx?xh=231202001&xm=%B3%C2%B3%AC&gnmkdm=N121603,需要带上登陆时返回的cookie信息:
.
精品文档
>>>>
其中用户名在模拟登陆的时候就已经获得,第三个参数是固定参数,用户姓名则需要通过访问主页得到html,解析页面代码来获取:>>>>
本程序中的http请求通过curl函数实现,而在登陆的时候进行设置跳转为1,如下所示:>>>>
,登陆请求结果就是主页。
所以我们需要做的事情如下:一、从登陆结果中解析出姓名:>>>>
二