C# 模拟网站登陆
2013-04-09 15:59
211 查看
实现此功能首先需要借助一些抓包工具,对相应的网站登陆过程进行分析,此过程根据网站的不同,可能复杂,也可能很简单。常用的抓包工具FF下FireBug和IE下的HttpWatch.这两个工具很强大,以此工具获取的信息足以应对C#模拟网站登陆过程所需要的信息。抓包工具的使用教程网上很多,例如FireBug教程,在此就不做过多介绍。当然网上C# C/S结构模拟网站登陆信息也很多,但基本都是代码片段或是逻辑很复杂。所以把我实践的过程写下来与大家分享。此实验过程是基于模拟登陆校内而完成的。
首先使用FireBug 获取登陆相关信息,在点登陆之前先把FireBug中信息清除,这样获取的信息就从点击登陆按钮后开始,以便后续分析,如下图:
View Code
第一次POST数据的URL为登陆提交数据的页面,此地址不一定能在抓包工具中得到,这就需要分析,方法很多(网上很多),例如查看登陆页面源码等。
![](http://images.cnitblog.com/blog/459023/201304/09153415-9a527c9108d946e29f89eeb574e5b1c8.x-png)
POST提交的数据可以在抓包工具中得到,以下是FireBug中得到的信息:
![](http://images.cnitblog.com/blog/459023/201304/09155638-1c9307fb33a447e4be4431a6e328331b.x-png)
把代码Copy执行以下,自动登录成功了吧!!
好了,就这些了,此过程中就是每次请求都延续应用前一次请求返回的Cookie数据,只要这步原理理解,此过程也就没有什么难度了。
首先使用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数据,只要这步原理理解,此过程也就没有什么难度了。
相关文章推荐
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- 详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)
- 使用C#的HttpWebRequest模拟登陆网站
- 转:使用C#的HttpWebRequest模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- C# 模拟网站登陆
- 使用C#的HttpWebRequest模拟登陆网站
- 【教程】模拟登陆网站 之 C#版(内含两种版本的完整的可运行的代码)
- 【转】详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)
- 模拟登陆网站 之 C#版(内含两种版本的完整的可运行的代码)
- C# 模拟网站登陆
- C# 模拟网站登陆
- 使用C#的HttpWebRequest模拟登陆网站
- c# 模拟网站登陆
- 使用C#的HttpWebRequest模拟登陆网站
- 使用C#的HttpWebRequest模拟登陆网站
- 使用C#的HttpWebRequest模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)