您的位置:首页 > 运维架构 > 网站架构

C# 模拟网站登陆

2013-04-09 15:59 211 查看
实现此功能首先需要借助一些抓包工具,对相应的网站登陆过程进行分析,此过程根据网站的不同,可能复杂,也可能很简单。常用的抓包工具FF下FireBug和IE下的HttpWatch.这两个工具很强大,以此工具获取的信息足以应对C#模拟网站登陆过程所需要的信息。抓包工具的使用教程网上很多,例如FireBug教程,在此就不做过多介绍。当然网上C# C/S结构模拟网站登陆信息也很多,但基本都是代码片段或是逻辑很复杂。所以把我实践的过程写下来与大家分享。此实验过程是基于模拟登陆校内而完成的。

首先使用FireBug 获取登陆相关信息,在点登陆之前先把FireBug中信息清除,这样获取的信息就从点击登陆按钮后开始,以便后续分析,如下图:

View Code

private void Form1_Load(object sender, EventArgs e)
{
WebAutoLogin.PostLogin("http://www.renren.com/PLogin.do", "niuwenwen668@sina.com", "xxxxxxx");
WebAutoLogin.GetPage();
WebAutoLogin.GetPage();
WebAutoLogin.GetPage();
webBrowser1.DocumentText = WebAutoLogin.ResultHtml;
}


第一次POST数据的URL为登陆提交数据的页面,此地址不一定能在抓包工具中得到,这就需要分析,方法很多(网上很多),例如查看登陆页面源码等。



POST提交的数据可以在抓包工具中得到,以下是FireBug中得到的信息:



把代码Copy执行以下,自动登录成功了吧!!

好了,就这些了,此过程中就是每次请求都延续应用前一次请求返回的Cookie数据,只要这步原理理解,此过程也就没有什么难度了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: