当前位置:编程学习 > C#/ASP.NET >>

C#自动登陆问题 关于cookie 十万火急

  string formUrl = "http://www.renren.com/PLogin.do";                  //url地址
           // string formData = "email="+a+"&password="+b+"&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com";                                   //提交的参数
            string formData = "email=lihaoran@163.com&password=45121&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com";               
            CookieContainer cookieContainer = new CookieContainer();
            // 将提交的字符串数据转换成字节数组 

            //注意提交的编码 这边是需要改变的 这边默认的是Default:系统当前编码
            byte[] postData = Encoding.Default.GetBytes(formData);

            // 设置提交的相关参数 
            HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;
            Encoding myEncoding = Encoding.GetEncoding("GBK");
            request.Method = "POST";
            request.KeepAlive = false;
            request.AllowAutoRedirect = true;
            request.ContentType = "application/x-www-form-urlencoded";
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
            request.CookieContainer = cookieContainer;
            request.ContentLength = postData.Length;


以上代码实现自动登陆  但是打开浏览器以后没有登陆信息 问下谁能告诉我怎么写.... --------------------编程问答-------------------- 程序跟浏览器是2回事,不是说程序登录了浏览器就登录了。 --------------------编程问答-------------------- 如果你了解服务器端编程,你就会明白,所谓自动登录,实现的原理就是在本地保存密码或者密码凭据,随Cookie提交给服务器端,代替输入密码。

显然你的程序知道Cookie,不等于IE也知道。

就你这个程序来说,和自动登录也没有关系,你的程序还是和手工登录是一样的。 --------------------编程问答-------------------- 我也在搞这个,正头疼,顶一把 --------------------编程问答-------------------- 那我在程序里继续怎么写才能保存用户信息并且继续访问其他用户呢? --------------------编程问答--------------------
引用 2 楼 caozhy 的回复:
如果你了解服务器端编程,你就会明白,所谓自动登录,实现的原理就是在本地保存密码或者密码凭据,随Cookie提交给服务器端,代替输入密码。

显然你的程序知道Cookie,不等于IE也知道。

就你这个程序来说,和自动登录也没有关系,你的程序还是和手工登录是一样的。

你的意思是我这个程序做的不对啊 那应该怎么做 或者说怎么改 给个思路 --------------------编程问答--------------------
引用 1 楼 net_lover 的回复:
程序跟浏览器是2回事,不是说程序登录了浏览器就登录了。

那我继续写访问的话有用户信息么 应该怎么写 --------------------编程问答-------------------- --------------------编程问答-------------------- 自动登陆与浏览器无关的

登陆后要要自己解析 Response 的返回数据, 
再与服务器交互(和自动登陆差不多)

总的来说就是要先通过浏览器分析出数据包的发送格式, 然后用C#模拟关键HTTP包的发送, --------------------编程问答-------------------- --------------------编程问答-------------------- 怎么没人说到点子上 --------------------编程问答--------------------
引用 4 楼 lihaoran4628513 的回复:
那我在程序里继续怎么写才能保存用户信息并且继续访问其他用户呢?

给请求带上登录过的CookieContainer,不过也要在程序中进行! --------------------编程问答-------------------- 程序和浏览器是两码事情,

程序产生的cookie,浏览器是无法使用的,

所以要嘛全部在浏览器里面操作,要嘛全部交给程序操作 --------------------编程问答-------------------- 交给程序应该怎么写呢?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,