C#网站登录学习笔记(二):访问需登录后才能访问的页面
来源:互联网 发布:黑客帝国4矩阵复活迅雷 编辑:程序博客网 时间:2024/06/07 01:47
本文摘自: http://www.cnblogs.com/jailu/archive/2008/05/10/1191755.html
在上篇笔记中,描述了在C#中如何使用HttpWebRequest、HttpWebResponse登录简单网站,但如果用同样的方法去访问一个需要登录后才能访问的页面,会出现什么结果呢?让我们先来尝试一下!
尝试一:在上篇笔记中,创建了一个用于测试的简单网站,其中LoginSuccess.aspx页面是需要登录后才能访问的(没登录的用户访问该页面,会被重定向到default.aspx页面)。这里我们调用GetHtml("http://localhost/TestLogin/LoginSuccess.aspx")来直接访问LoginSuccess.aspx页面,同时用HTTP Analyzer抓包:
(图一)
从抓包截图(图一)上可以看到,当程序访问LoginSuccess.aspx页面时,被重定向到default.aspx页面去了,证明不能直接访问。
尝试二:那么是不是用程序先在defaul.aspx中登录后在访问LoginSuccess.aspx页面就OK了呢?我们再来尝试一下:1. 调用GetHtml("http://localhost/TestLogin/Default.aspx", postData, Method.POST)登录;2.调用GetHtml("http://localhost/TestLogin/LoginSuccess.aspx")访问LoginSuccess.aspx页面。
(图二)
图二是第二次尝试中庸HTTP Analyzer抓包的截图。1、2:程序在Default.aspx中登录成功后,自动跳转至LoginSuccess.aspx;3、4:程序在登录成功后,访问LoginSuccess.aspx页面,被重定向到Default.aspx。看来这次的尝试又失败了。
然道没办法在程序中访问需登录后才能访问的页面了吗?答案是否定的!那么该如何实现呢?在实现前,有一些基础知识是要先了解的:
哈哈,原来是Cookie的原因啊!看来我们只需在访问需登录的页面时把该网站对应的Cookie带上就OK了。这里使用CookieContainer来保存Cookie。
尝试三:给HttpWebRequest指定CookieContainer,登录并访问LoginSuccess.aspx页面。
以下是修改后的代码:
- C#网站登录学习笔记(二):访问需登录后才能访问的页面
- 登录后才能访问页面--解决方案(一)
- 界面登录、登陆后才能访问另外页面
- 登录后跳转至之前访问页面
- 登录后返回原访问页面
- C#网站登录学习笔记(一):登录简单网站
- C#网站登录学习笔记(一):登录简单网站
- winform c# 实现被访问的网站自动登录
- 如何做登录后自动跳转到登录前要访问的页面
- 如何做登录后自动跳转到登录前要访问的页面
- J2EE实现登录后自动跳转到登录前访问的页面
- 防止用户不登录帐号密码,直接访问登录后的页面
- 只有登录成功后,才能访问一些页面(2种方法:1.通过判断sesssion是否为空)2.过滤器Filter
- asp.net如何让未登录用户登录后能自动跳转到登录前访问的页面
- Jsoup访问需要登录的页面
- Asp.net 访问页面跳转到登录后再跳转到原来的页面
- 用户登录后,重定向原来访问页面
- 用户登录后重定向到要访问页面
- 十三周任务4
- C#网站登录学习笔记(一):登录简单网站
- ios 根据手势放大或缩小图片
- vb.net 连接 access 数据库
- jdk1.6对webservice的支持示例
- C#网站登录学习笔记(二):访问需登录后才能访问的页面
- Iphone开发(七)date picker 和 picker view,较复杂的控件
- 《第十三周实验报告任务4》
- 备份恢复8——管理恢复目录
- js
- 检测IE系列浏览器的各个版本
- python脚本自动监视tomcat进程,如果崩溃就自动重启
- 如何学习Hibernate
- HTTP POST GET SOAP本质区别详解