c# 模拟网站登陆
我们在写灌水机器人、抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录。那么怎么用C#来模拟一个用户的登录拉要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的。
HTTP协议是一个无连接的协议,也就是说这次对话的内容和状态与上次的无关,为了实现和用户的持久交互,网站与浏览器之前在刚建立会话时将在服务 器内存中建立一个Session,该Session标识了该用户(浏览器),每一个Session都有一个唯一的ID,第一次建立会话时服务器将生成的这 个ID传给浏览器,浏览器在接下来的浏览中每一个发向服务器的请求中都将包含该SessionID,从而标识了自己的身份。
服务器上是使用内存来保存Session中的信息,那么浏览器又使用什么来保存服务器分配的这个SessionID了对,是Cookie。在刚建立 会话时浏览器向服务器的请求中将不包含SessionID在Cookie中,服务器就认为是一个全新的会话,从而在服务器上分配一段内存给该 Session用,同时将该Session的ID在Http Header中使用Set-Cookie发送给浏览器。
现在原理已经搞清楚了,那么我们就来实现一个网站的登录嘛。下面以某某大学的管理信息系统来进行检验(注意:这里的缺陷就在于没有验证码的识别和多个服务器的跳转)难度相对来说要小很多。
首先先用httpAnaly或者是httpwatch等专用的抓包工具,来获取网页提交时候的数据信息和头信息。以下代码包含了登陆和在登陆后获取另一个页面数据信息。
AutoPost