数据抓包(网络爬虫)-正方教务管理系统登录

本文是基于java EE6.0 + HttpClient + fiddler为基础的。

最近在学jsp,闲来无事,做点东西锻炼锻炼,也可以学习学习,想学习数据抓包。第一印象就是我们学校的正方教务管理系统,先拿它开涮。

好,我们现在进入正题,我这边是jsp的网页,所以jsp的环境配置我不说了,就着重讲一下这个抓包需要的工具吧:Fiddler(fiddler4_V4.4.9.9_setup.1425627999.exe_免费高速下载|百度网盘-分享无限制),当然我这里还有jsp用到的HttpClient-jar包(httpcomponents-client-4.5.2.rar_免费高速下载|百度网盘-分享无限制)。

我就简单说明一下我们抓包需要用的功能:

1、当访问记录过多时,如何清除访问记录。

2、如何管理监控的软件(默认浏览器是加入监控的,即浏览器访问Internet会被记录)

3、查看请求数据方式(1-鼠标拖拽请求网址,多用于GET请求)

4、查看请求数据方式(2-选择Inspectors,多用于POST请求)

 了解了基本功能,我们现在去我们教务管理系统试试吧

首先,我们清空访问记录,访问一下我们学校,看看有什么结果(这里我是把cookie删除了访问的)。

 

我们获取到的cookie是:Set-Cookie: ASP.NET_SessionId=m5ys1p55i3ffk145s2u5twib; path=/

接着我们第二次访问

我们发现第二次的请求中的cookie正好是第一次(删除了cookie访问)接收的cookie,这对于我们理解登录过程是很有用的。

好的,接着我们尝试登录教务管理系统,登录成功后,我们看看什么样的数据包

我们看登录请求的头部信息:

似乎没有找到我们的用户名,密码,验证码信息,不着急,我们说过post提交的,我们可以通过webforms来查看:

我们发现了,原来登录教务管理系统是发送几个参数,配备一些请求信息来实现的,

但是关于这些参数,我们有几个疑问:这个

__VIEWSTATE

dDwyODE2NTM0OTg7Oz5Xow52LfADXBpsau1uxa8+qTHKbQ==

是什么意思?怎样获得?还有就是验证码的问题,怎么获取验证码?

带着这个问题,我们去看看我们教务管理系统首页的源代码:

 

好的,我们在源代码中找到了需要的__VIEWSTATE参数。

接下来是验证码,为了不拐弯抹角,我将自己吸取的教训直接转换为方法,教大家这个验证码的获取:

在教务管理系统首页的源代码中我们找到了验证码的获取网址,我们再去看fiddler中的这个网址:

在此说明我学习的成果:获取验证码是要带着cookie获取的,如果直接访问验证码图片网址可以获取到图片,但是没有任何作用,所以在模拟登录过程中一定要带着cookie一起访问,这个cookie就是登录时候用的cookie,你可以监视“点击看不清换一张”这个请求过程。

搞清楚登录原理之后我们就可以模拟登录过程了。

流程如下:

1、模拟访问(模拟无cookie的访问)首页的过程。

2、获取到响应的头部信息, 将获取到的cookie记录下来,后面会用到。获取源代码中的VIEWSTATE并且记录下来,后面也要用。

__VIEWSTATE

dDwyODE2NTM0OTg7Oz5Xow52LfADXBpsau1uxa8+qTHKbQ==

3、将获取到的cookie添加的新的请求头部,用于获取验证码,将验证码添加显示出来(后面会讲一个自动识别验证码的功能代码)。

4、将必要的参数封装到请求中,模拟登录请求。

完整工程的源代码(百度网盘:LoginSuse.rar_免费高速下载|百度网盘-分享无限制,CSDN怎么给我转成VIP资源了)

效果截图:

 

点击登录按钮之后

 后面有时间再讲教大家获取课程表的信息,今天就到这儿了哈,有问题的可以联系我,我们一起探讨哈。

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值