1. 在本地创建一个简单的网站,尝试用C#登陆;
2. 在网上找一个不需要验证码就可以登录的网站,尝试用C#登陆;
3. 在网上找一个需要验证码才能登录的网站,尝试用C#登陆
一、创建最简单的测试网站:该网站只包含两个页面:Default.aspx(登录页面)和LoginSuccess.asp(登录成功页面)。其中,当用户在Default.aspx页面中登录成功后,系统将跳转到登录成功页面;登录成功页面只有登录后才能访问;网站用Session保存、判断用户是否登录。
二、抓包分析:通过抓包,初步了解登录网站需要的数据。这里使用HTTP Analyzer工具进行抓包,进行抓包时,应关闭其他可能访问网络的软件,减少其他无用包对数据分析造成影响。
1. 打开HTTP Analyzer,启动抓包;
2. 用浏览器访问登录页面(http://localhost/TestLogin/Default.aspx);
3. 输入用户名、密码,登录网站(登录后,系统将自动转向登录成功页面http://localhost/TestLogin/LoginSuccess.aspx)
![](https://i-blog.csdnimg.cn/blog_migrate/d82afa0611ee795c00298cbcfd141e9c.jpeg)
(图一)
![](https://i-blog.csdnimg.cn/blog_migrate/b9d56fef5f0c6784608a141b10cdca15.jpeg)
(图二)
三、编写C#程序实现网站登录
1. 首先了解一下,如何使用HttpWebRequest、HttpWebResponse、Stream来访问一般的页面,只需要使用简单的代码就OK了:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
2. 如果含有PostData,那么还需指定HttpWebRequest的相关属性,这些属性值可从抓包中获取:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
下图是在程序中调用以上代码访问登录页面后的抓包结果,可以发现登陆成功了:
![](https://i-blog.csdnimg.cn/blog_migrate/5bc1a6396379704d975f9fd23c579756.jpeg)
在下一篇的笔记中,将描述如何访问需要登录后才能访问的页面(相关的代码也将在下一篇笔记中给出)。