基于正方系统的抢课软件教程系列一模拟登录1

讨论Q群: 93573027

 

吐槽下正方系统,在学校的时候选课时,人一多就老是弹出个错误页面!还要早早起床去蹲守在电脑旁!那段日子真是难挨咯!

  如果知道已经知道IE的F12开发者工具里面的如何捕获和模拟登录的原理可以跳过这篇文章直接进入下篇代码讲解。

现在开始正题!要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的。

HTTP协议是一个无连接的协议,也就是说这次对话的内容和状态与上次的无关,为了实现和用户的持久交互,网站与浏览器之前在刚建立会话时将在服务 器内存中建立一个Session,该Session标识了该用户(浏览器),每一个Session都有一个唯一的ID,第一次建立会话时服务器将生成的这 个ID传给浏览器,浏览器在接下来的浏览中每一个发向服务器的请求中都将包含该SessionID,从而标识了自己的身份。

服务器上是使用内存来保存Session中的信息,那么浏览器又使用什么来保存服务器分配的这个SessionID了,一般网站上使用的是Cookies,但是我用抓包的时候发现正方系统用的不是Cookies,而是使用地址栏上的一个状态码,标致你的登录信息。而我们要做的模拟登录原理是:在准备进入登录界面时抓包,获取登录界面的地址,验证码和状态码,然后把我们的帐号密码验证码一并提交到提交页面。

刚才提到抓包,其实学过网络的都知道的,无非就是把浏览器向服务器发送的信息和服务器回应的信息截取下来。这里我们直接用系统自带的IE浏览器,打开浏览器按F12或者点工具-》开发者工具。然后点击网络―》开始捕获。

好像下面这样:

 

在这可以看到浏览器和服务器间是怎样私密聊天的。

工具和原理明白了,转入实际编码:当我们要进入登录界面时点击开始捕获

 我们只要留意这个.aspx结尾的文件就行了,可以看到我们要的登录的地址,和地址用括号括起来的状态码。点击这地址转到详细视图,可以看到浏览器向服务器请求的标头和正文,还有其他信息。现在这里有用的信息就是标头信息。既然要模拟浏览器就要做戏做全套。地址和状态码,标头我们知道了,现在还差验证码,返回摘要视图,查找到以CheckCode.aspx后缀的的请求。转到详细视图可以看到这就是一张验证码的图片!如果没出错的话,我们在地址输入主机host地址+状态码+CheckCode.aspx;例如:这里地址http://202.192.143.230+我们的状态码(dopghl45jj2qmdeca4gqtw55)+CheckCode.aspx;就可以访问到验证码图片!

 

说明一下:制件这个软件纯粹是个人业余闲着没事的!目的在于让喜欢的同学能够掌握一门技术,实现模拟登录,验证码识别,模拟浏览器接收响应和发送请求,正则表达式的使用.希望大家能在制作这个软件的时候学会这以上的知识!不希望看到有人拿这种东西去赚钱!这里的源码全部公开!有不懂可以评论或者留言给我!写得比较啰嗦,只是给小白的学习,大神见笑了!

  

posted @ 2013-04-25 23:03  计算机男  阅读(6901)  评论(6编辑  收藏  举报