大概全中国的教务处网站都是一样的,选课时期总是出去薛定谔的猫的状态,因此使用爬虫来选课对于计算机的学生来说就很正常了,在进行爬虫爬取之前,我们首先需要对它进行抓包分析。
试探
首先登录教务处网址,我们学校教务处的网址是10.5.2.80,在浏览器中输入网址后你会发现进行了重定向,重定向后的网址是10.5.2.80/(uzcntciw0q5jisjv5ydagx45)/default2.aspx.你会发现中间用括号括起来了一个长度为24的字符串,我们再在浏览器中输入一次10.5.2.80网址,再次进行重定向,发现中间的字符串再次进行了改变。这就很有意思,中间的字符串为甚每次登录教务处网址都会改变呢,
当然我们首先进行抓包来看看,浏览器向服务器发送了什么
我们发现请求的地址正是我们每次重定向到的网址
再查看下我们发送的表单
TextBox1、TextBox2中分别存储着我们的用户名和密码那么我们探索一下表单中另外三个参数的作用(PS:这命名随意到难以置信).RadioButtonList1、Button1很明显是url编码的值,我们将RadioButtonList1、Button1中的值进行url解码(注意此处url编码使用了gb2312)。
结果分别为学生和登录。可是另一个VIEWSTATE呢
VIEWSTATE
VIEWSTATE其实也算一个很古老的东西了,正是因为老旧的教务处也同样的古老,我们才能够发现他。正方是使用ASP开发的,而VIEWSTATE也算ASP一个特点(基本存在于已经废弃webform),它起到的作用主要将整个页面的控件的状态用base64