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 protected]&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;
以上代码实现自动登陆  但是打开浏览器以后没有登陆信息 问下谁能告诉我怎么写....

解决方案 »

  1.   

    如果你了解服务器端编程,你就会明白,所谓自动登录,实现的原理就是在本地保存密码或者密码凭据,随Cookie提交给服务器端,代替输入密码。显然你的程序知道Cookie,不等于IE也知道。就你这个程序来说,和自动登录也没有关系,你的程序还是和手工登录是一样的。
      

  2.   

    自动登陆与浏览器无关的登陆后要要自己解析 Response 的返回数据, 
    再与服务器交互(和自动登陆差不多)总的来说就是要先通过浏览器分析出数据包的发送格式, 然后用C#模拟关键HTTP包的发送,
      

  3.   

    给请求带上登录过的CookieContainer,不过也要在程序中进行!
      

  4.   

    程序和浏览器是两码事情,程序产生的cookie,浏览器是无法使用的,所以要嘛全部在浏览器里面操作,要嘛全部交给程序操作