C#网站登录学习笔记(二):访问需登录后才能访问的页面

C#窗体应用:登录窗体跳转至主窗体+退出登录 1.首先对登录结果作一个判断 登录功能的实现可以参考我上一篇博客:https://blog.youkuaiyun.com/weixin_44916185/article/details/105109391 如果登录成功,则将用户名传进主窗体,并将登录窗体的DialogResult结果设置为OK; if (result == 1) { MessageBox.Show("登录成功。"); _No = ... 阅读详情

本文摘自:  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。看来这次的尝试又失败了。

    然道没办法在程序中访问需登录后才能访问的页面了吗?答案是否定的!那么该如何实现呢?在实现前,有一些基础知识是要先了解的:

以下文字转自深蓝的博客文章《使用C#实现网站用户登录》

HTTP协议是一个无连接的协议,也就是说这次对话的内容和状态与上次的无关,为了实现和用户的持久交互,网站与浏览器之前在刚建立会话时将在服务器内存中建立一个Session,该Session标识了该用户(浏览器),每一个Session都有一个唯一的ID,第一次建立会话时服务器将生成的这个ID传给浏览器,浏览器在接下来的浏览中每一个发向服务器的请求中都将包含该SessionID,从而标识了自己的身份。

服务器上是使用内存来保存Session中的信息,那么浏览器又使用什么来保存服务器分配的这个SessionID了?对,是Cookie。在刚建立会话时浏览器向服务器的请求中将不包含SessionID在Cookie中,服务器就认为是一个全新的会话,从而在服务器上分配一段内存给该 Session用,同时将该Session的ID在Http Header中使用Set-Cookie发送给浏览器。


    哈哈,原来是Cookie的原因啊!看来我们只需在访问需登录的页面时把该网站对应的Cookie带上就OK了。这里使用CookieContainer来保存Cookie。

    尝试三:给HttpWebRequest指定CookieContainer,登录并访问LoginSuccess.aspx页面。

    以下是修改后的代码:

c# 自动登录网站 由于每天开机都需要登录一个网站, 最近就用c#写了个自动登录网址的程序,原理:使用 webrequest进行post请求; 步骤如下: 1. 使用 火狐的插件啊 firebug,拦截网络请求,查看请求的格式,这里以登录51testing为例,下图的底部“源代码” 就是post的信息,等会在代码中照着写上即可; 3. 贴代码: using Syst 阅读详情

相关推荐

多个账户模拟登录---c#异步模拟登录网站并采集网页

最近需要做一些数据分析,正好在做几个c#项目,于是直接用form程序实现模拟登录。 初步分析: 由于对模拟登录不是很理解,在网上查询后,热心朋友指出(http://bbs.youkuaiyun.com/topics/390352393?page=1#post-393522161) “所谓登录,就是第一次访问,服务器返回一个set-cookie指令(不保存到cookie存储中),客户端浏览器在之后的访

编程源于生活 9712

C#网站登录学习笔记(一):登录简单网站

    最近在园子里看到 深蓝 写的几篇关于网站登录的文章,觉得挺好玩,挺感有趣的,遂决定学习一下。但凡学习都有一个渐进的过程,以下是自己初步制定的学习步骤:     1. 在本地创建一个简单的网站,尝试用C#登陆;     2. 在网上找一个不需要验证码就可以登录的网站,尝试用C#登陆;     3. 在网上找一个需要验证码才能登录的网站,尝试用C#登陆     一、创建最简单的...

weixin_33796177的博客 222

C# 从需要登录的网站上抓取数据

C# 从需要登录的网站上抓取数据 背景:昨天一个学金融的同学让我帮她从一个网站上抓取数据,然后导出到excel,粗略看了下有1000+条记录,人工统计的话确实不可能。虽说不会,但作为一个学计算机的,我还是厚着脸皮答应了。 。 刚开始想的是直接发送GET请求,然后再解析返回的html不就可以获取需要的信息吗?的确,如果是不需要登录的网站,这样可行,但...

LHL62411570的专栏 950

C# 获取web.config配置文件内容

1.web.config提供对客户端应用程序配置文件的访问。 其有两个属性1.ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据。 方法一: string sqlConString =System.Configuration.ConfigurationManager.ConnectionStrings[“sqlConStr”].ConnectionString; 方法二: string sqlConString =System.Web.Co

MrGuoXianSen的博客 3312

C#自动登录网站(一)----WebBrowser

这章写自动登录某个网站,例如QQ空间,163邮箱啊,csdn等,有那里不对希望读者指点出来或者有更好的提议的说出来。 看到文章的题目大家也清楚这篇文章用的便是WebBrowser,写完到时还会出另外2种使用WebClient跟使用HttpWebRequest/HttpWebResponse。 一、我们先建立一个window窗体应用。 把窗体设置大点。 然后在左边工具箱所有窗体控件里

阳 9390

C#.net 实现页面登录和跳转 及跳转后的查询

using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient;

登录权限认证(某个页面需要登录后才能加载),解决

在项目中,我们经常用到当我们登录之后才能访问某个页面,否则,访问这个页面时,会自动跳到登录页面。 我刚开始去解决这个问题时,搜索了许多资料,都没有解决,例如: 别人给的答案是:在需要登录权限的视图函数上面加上装饰器@login_required,settings中配置LOGIN_URL=’/login/’,但是,我还是没有解决,在跳转是跳转到登录页面了,但是,点击登录后,还是一直在登录页面,没有像...

weixin_45637035的博客 2327

Ubuntu22.04系统安装及配置

下载Ubuntu22.04系统镜像(下载地址:链接:https://caiyun.139.com/m/i?提取码:fLRJ),结合rufus和系统镜像制作USB启动盘,在物理机服务器上通过USB启动盘进行安装;或通过Esxi虚拟化平台创建虚拟机,然后在虚拟机中使用系统镜像进行安装。

cheagoun的博客 8万+

使用C#实现网站用户登录

HTTP协议是一个无连接的协议,也就是说这次对话的内容和状态与上次的无关,为了实现和用户的持久交互,网站与浏览器之前在刚建立会话时将在服务器内存中建立一个Session,该Session标识了该用户(浏览器),每一个Session都有一个唯一的ID,第一次建立会话时服务器将生成的这个ID传给浏览器,浏览器在接下来的浏览中每一个发向服务器的请求中都将包含该SessionID,从而标识了自己的身份。对,是Cookie。3.输入用户名和密码,点击登录,IE中正常登录,停止抓包,我们要的所有信息都被抓取好了。

biyusr的专栏 770

从SAR信号到洪涝地图:基于Sentinel-1数据的水体快速提取实战

本文详细介绍了如何利用Sentinel-1 SAR数据快速提取水体信息并生成洪涝地图的实战方法。通过预处理五部曲和SDWI指数计算,结合具体案例展示了SAR技术在洪涝灾害应急监测中的高效性和准确性,为救援决策提供关键支持。

weixin_29201313的博客 464

SpotBugs使用

spotbugs命令行参数解析

javajingling的专栏 2948

使用C#的HttpWebRequest模拟登陆网站

这篇文章是有关模拟登录网站方面的。 实现步骤; 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后续访问的页面数据。 我们以登录人人网为例,首先需要分析人人网登录时POST的数据格式,这个可以通过IE9中只带的F12快捷键,调出开发人员工具。如下图:   通过开始捕获得到

htsnoopy的专栏 5万+

matinal:SAP ABAP 关于sftp的发送接收源代码

如果您将目标系统的凭据存储在该 RFC 连接中,您可以安排程序并将其作为后台作业运行:凭据将从 SM59 配置中获取,并且在文件传输期间不会提示您输入它们。这尤其适用于安全问题:您有责任为您的编码添加安全功能,并相应地配置您的系统(例如,保护您的系统免受病毒侵害)。注意:在创建自己的程序时,请特别注意示例代码中以“@CUSTOMER”开头的注释,因为您需要实现自己的逻辑。本说明为您提供示例编码以支持您创建自己的程序。在 STRUST 事务中,您维护了一个 PSE 并导入了您要发送的文件的最终收件人的证书。

matinal 當冬夜漸暖 。公众号:matinal 1333

C# 登录QQ网站并获取QQ相关信息

本文以登录http://id.qq.com为例,获取用户等级、Q龄等相关信息。 本文界面使用WPF制作  技术涵盖:C#、wpf、HttpWebRequest、HttpWebResponse (.net framework 4.5,当然你也可以使用4.0。不知道为什么使用3.5无法得到正确的结果,代码一模一样,还望高人指点!) 1、获取独立登录框地址

Hauk.Wong 1万+

ctfshow WEB web4

ctfshow WEB web4

weixin_68416970的博客 722

基于 PCL 的工业盒体点云精准分割

本文提出一种基于PCL点云库的工业盒体点云分割算法,采用由粗到精的分层策略解决传统方法在噪声、稀疏和堆叠场景下的分割问题。算法通过区域生长粗分割、RANSAC平面筛选、球面回溯补全、凹包边界提取和圆柱回溯精分割五大核心模块,充分利用盒体几何先验特征,实现高效精准的分割效果。文章详细阐述了算法流程、参数调优指南及工程化要点,指出该方法相比深度学习具有速度快、鲁棒性强、部署简单的优势。同时分析了算法在倾斜、异形目标上的局限性,并展望了结合深度学习特征的混合模型发展方向。该算法为工业自动化场景中的3D视觉检测提供

weixin_45196569的博客 172

Web创建网站登录页面

新窗体自己命名为自己想要建立的名字,我就命名为一课一得了。

2201_75808710的博客 3783

R语言机器学习:XGBoost线性回归模型的SHAP值

SHAP(SHapley Additive exPlanations)值是一种基于博弈论Shapley值的机器学习模型解释方法,能够解释任何模型的预测结果。其主要用途包括:1)提高模型的可解释性,帮助非技术用户理解模型预测;2)识别对模型预测最重要的特征,辅助特征选择;3)调试模型,发现预测中的异常;4)评估模型公平性,避免偏见。SHAP值的计算方法包括初始化、迭代计算、归一化和解释,常用工具如Python的shap库支持多种计算方式(如TreeSHAP、KernelSHAP等)。本文还提供了基于R语言计算

专注生信领域 3442
上一篇: C#网站登录学习笔记(一):登录简单网站
下一篇: ASP.NET中的Bind和Eval的区别详解
VS_URL
博客等级 码龄15年 12粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值