关于C#实现网页用户自动登录,然后访问后续授权网页资源的问题,谢谢

问题描述

呵呵,我是这方面的新手,也认真查找阅读了一些文章,但仍有一些问题需请教,请大家耐心帮助,thank.我要登录的网页地址是http://www.55188.com/logging.php?action=login我看了里面的源文件,对表单里的一些项不知道如何处理:例如:<inputtype="hidden"name="formhash"value="23399eb6"/><inputtype="hidden"name="referer"value="http://www.55188.com/forum-45-1.html"/>疑问一:这个hidden属性的表单项怎么处理呢?<label><inputclass="radio"type="radio"name="loginfield"value="username"tabindex="2"checked="checked"/>用户名</label><label><inputclass="radio"type="radio"name="loginfield"value="uid"tabindex="3"/>UID</label>疑问二:对于radio类型的项,我送入value=username,这样可以吗?<selectid="loginmode"name="loginmode"tabindex="13"><optionvalue="">-使用默认-</option><optionvalue="normal">正常模式</option><optionvalue="invisible">隐身模式</option></select>疑问三:对于option类型的项,我送入value=normal,这样可以吗?我按照例子,post了,可是取得的网页还是登录页面,好像没有登录成功,请高手赐教了,附源码如下:CookieContainercc=newCookieContainer();stringFormURL=@"http://www.55188.com/logging.php?action=login&amp;";//处理表单的绝对URL地址stringFormData="formhash=7162cdc9&referer=index.php&loginfield=username&username=test&password=123456&questionid=0&answer=&cookietime=315360000&loginmode=normal&styleid=1";//表单需要提交的参数,注意改为你已注册的信息。byte[]data=Encoding.ASCII.GetBytes(FormData);HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(FormURL);request.Method="POST";//数据提交方式request.ContentType="application/x-www-form-urlencoded";request.ContentLength=data.Length;StreamnewStream=request.GetRequestStream();newStream.Write(data,0,data.Length);newStream.Close();request.CookieContainer=cc;HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();cc.Add(response.Cookies);Streamstream=response.GetResponseStream();stringWebContent=newStreamReader(stream,System.Text.Encoding.Default).ReadToEnd();

解决方案

解决方案二:
自动登录一般是把用户信息存放在Cookie里面,但是要加密用户名和密码,不然有危险打开网页的时候,读取用户信息,解密用判断是否正确如果不正确则显示登录网页正确的话就可以正常处理了
解决方案三:
我没说清楚,我做的是客户端实现自动登录,不是服务端。
解决方案四:
有高手能帮助解答吗?
解决方案五:
用MicrosoftFiddler看看发松的都是什么
解决方案六:
有谁能帮助吗?
解决方案七:
我也在问这个问题,吐了,没人帮我。不过,你比我强,还有部分代码。能不能把你的所有源码,贴一份给我。
解决方案八:
其实上面的代码包在一个函数里面就可以调用了,就这个功能而言已经是最小完整代码了。
解决方案九:
楼主应该把CookieContainercc=newCookieContainer();定义成全局变量,要不然你登录成功后下次请求时里面的Cookie又没有了,所以你还是没有权限的。
解决方案十:

解决方案十一:
谢谢楼上的。我是基本思路已经有了,现在是遇到了一些具体的困难,具体我已经列出来了,如果能帮助我,请稍微详细地指明,谢谢。
解决方案十二:
用HttpWatch之类的HTTP数据包抓取工具,来抓一下,看一下它真正提交的URL和参数,这样才是最真实的,不然。。。不然有些隐藏参数,你可能去找很久,用这个一下子就知道了
解决方案十三:
还有,有时候页面会发出302的状态码进行页面的转换,所以用编程的方式也会发生登录不了的状况
解决方案十四:
谢谢,我只是要登录http://www.55188.com网站,其他的不要,能帮我看看?
解决方案十五:
有人能具体的指导一下吗?
解决方案:楼主的问题其实就是对cookie的处理。因为http协议是无状态的,所以你每次访问网站的时候必须要带上个“令牌”,以区分你和其他用户。这个“令牌”其实就是Cookie。我们在登录某个网站后,这个网站会发给你一个“令牌”,这个“令牌”标识了你的身份,以后你带着它就可以在这个网站做很多事情了,网站就是凭这个“令牌”才信任你的。浏览器都能很好的处理“令牌”,只要你访问某个网站,浏览器首先要检查下你是否有这个网站的“令牌”,有了就要带上,以免访问遇到“麻烦”。现在你通过程序登录‘http://www.55188.com’后,网站也发给你一个“令牌”了,但是你访问下一个页面是不是被网站的“门卫”拒之门外了?...门卫说:兄弟,请拿出令牌!你说:我有令牌。门卫说:拿来我看看!你说:我不晓得放到哪儿了!门卫说:别忽悠我,我只认令牌,没有令牌一律拒之门外!说完,保安把你带到了领取令牌的地方,让你重新领取令牌。领取令牌后,你又去门卫那儿,结果又被拒之门外,如此反复.......兄弟,请注意随时带上你的“令牌”,这年头,人与人之间,谁信谁?...
解决方案:又来个说些无用的,这个道理我本不懂,可是早已经阅读资料理解了,不需要再这么通俗易懂地告诉我了。还有人能指导些具体些的人吗?
解决方案:今天上来看了一下发现这个问题还在于是动手试了一下发现果然不能成功使用多种办法试验(javaphp)还是不行于是分析发现该论坛是Discuz的他们在cookie中存储了一个值cdb_sid每次刷新都变估计就是用来防止程序自动登录的东后来查了一下听说有人破解了这个算法(祥见:)但是试验了一下还是不行郁闷领导来了先闪!不知道有哪位大哥找到了方法发上来大家共享一下谢了:)
解决方案:谢谢楼上的,我还没有解决,烦请继续提供帮助。
解决方案:没人能够提供帮助?呵呵,清谈的人倒蛮多,一说到具体问题就没人了:)
解决方案:仔细看了一下,提交串里丢了个loginsubmit=提交,中文要转码,试试看。

时间: 2024-09-16 00:26:51

关于C#实现网页用户自动登录,然后访问后续授权网页资源的问题,谢谢的相关文章

java实现用户自动登录_java

自动登录,是为了帮助用户多次使用这个网页时,不用再次输入用户名和密码就可以登录. 自动登录是指用户将用户的登录信息,人,保存到本地的文件中Cookie中. Name,value -声明时 new Cookie(key,value);  Path-默认值,即为当前保存cookie的这个serlvet所在的路径. 如果Cookie在这样的路径:http://loclhost:8080/project/abc/AServlet 则Cookie的路径为: http://loclhost/project/

详解JavaEE使用过滤器实现登录(用户自动登录 安全登录 取消自动登录黑用户禁止登录)_java

在我们生活中,对于账户的自动登录已经很常见了,所以利用过滤器实现这个功能. 主要介绍用户的自动登录和取消自动登录,以及实现一天自动登录或者n天实现自动登录,当用户ip被加入到黑名单之后,直接利用过滤器返回一个警告页面. 过滤器的功能很是强大,我们只需要在写好的前台后servlet之后进行添加就可以实现这个功能 Ps:这个仅仅只是一个演示而已,里面的访问数据库的部分,自己随意模拟了下,主要是突出实现自动登录的功能. 前台代码: 前台代码是成功与否都在这个页面显示.用到的技术:jstl标签的应用,s

网页A自动登录到网站B,可以实现吗?

问题描述 可以实现以下功能吗?打开一个网页A,然后自动登录到网站B.(知道网站B的用户名和密码) 解决方案 解决方案二:如果网站B没做登录来源限制的话,是可以的解决方案三:可以的解决方案四:你在A站点登陆的时候可以通过webService吧用户的信息发往B网站校验,如果通过,则就可以直接访问B网站解决方案五:请问楼上的各位大哥,怎么实现呢,能说一下吗?解决方案六:<scriptlanguage="javascript">functiondoSubmit(){document

WordPress如何实现用户自动登录

如果将方法一或方法二的代码,直接放到主题的functions.php中,那么只要打开前台任何页面,就会自动登录到你设置的用户名下.本文只是提供自动登录的方法,至于是放到单独一个php文件,还是加token验证等等你认为比较安全的方式,怎么用就得看具体的需求了. 无密码方式 现在有种更好的实现方法,不需要知道帐号密码,只需指定用户名即可,实现代码:  代码如下 复制代码 if (!is_user_logged_in()) {   $user_login = 'example'; // 用户名是ex

利用cookie实现用户自动登录的代码

cookie 是由服务器发送到浏览器的变量.cookie 通常是服务器嵌入到用户计算机中的小文本文件.每当计算机通过浏览器请求一个页面,就会发送这个 cookie. 实例 <?php教程   echo( "Cookie created? : " . setcookie("cookie_name", "cookie_data" ) ); ?> <html>  <head>   <title>Cooki

CentOS 用户自动登录

GDM的自动登录可以通过设置/etc/gdm/custom.conf文件. 在[daemon]这一段中加入如下内容,其他内容保留.注意AutomaticLogin和TimedLogin后面跟的是你希望自动登录的用户名. [daemon]  AutomaticLogin=master  GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libkeymouselistener:/usr/lib/gtk-2.0/modules/libdwe

网页设计-linux环境下访问boa服务器网页图片无法显示

问题描述 linux环境下访问boa服务器网页图片无法显示 单独打开网页文件图片是可以现实的. 通过boa服务器访问ip地址时图片无法显示 这应该不是网页设计问题吧.是什么原因?服务器的问题吗? 解决方案 先看你页面上console中的日志信息,是否提示背景图片没有获取,然后就是查看服务器上的日志,图片估计没有正确返回给浏览器 解决方案二: 您好,我也在做这个方面,一起探讨QQ1845395137

.net判断用户未登录,弹出提示“未登录,请登录”,但不加载网页

问题描述 .net判断用户未登录,弹出提示"未登录,请登录",但不加载网页要求是必须弹出提示框,提示用户需要登录,但不加载网页现在是提示了登录,就会加载网页,这样别人就能看到网页的内容用Response.End();提示框就不会弹出请高手指定哈 解决方案 解决方案二:Page.ClientScript.RegisterStartupScript(this.GetType(),"out","<script>alert('登录后再访问!');win

JavaWeb 后端 &lt;十二&gt; 之 过滤器 filter 乱码、不缓存、脏话、标记、自动登录、全站压缩过滤器

一.过滤器是什么?有什么? 1.过滤器属于Servlet规范,从2.3版本就开始有了. 2.过滤器就是对访问的内容进行筛选(拦截).利用过滤器对请求和响应进行过滤 二.编写步骤和执行过程 1.编码步骤: a.编写一个类:实现javax.servlet.Filter接口 public class FilterDemo1 implements Filter {           public FilterDemo1(){         System.out.println("调用了默认的构造方法