string url2 = "http://www.XXXX.com/user.php";
            request = (HttpWebRequest)WebRequest.Create(url2 + "?" + new Random().NextDouble());
            request.CookieContainer = container;
            
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = param.Length;
            request.Method = "POST";
            Stream myRequestStream = request.GetRequestStream();
            StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
            myStreamWriter.Write(param);
            //把数据写入HttpWebRequest的Request流
            myStreamWriter.Close();
            myRequestStream.Close();
            //关闭打开对象
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)request.GetResponse();
            //新建一个HttpWebResponse
            myHttpWebResponse.Cookies = container.GetCookies(request.RequestUri);
            //获取一个包含url的Cookie集合的CookieCollection
            Stream myResponseStream = myHttpWebResponse.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            string outdata = myStreamReader.ReadToEnd();
            //把数据从HttpWebResponse的Response流中读出
            myStreamReader.Close();
            myResponseStream.Close();
请问我要清除上面代码的cookies,如何清除?

解决方案 »

  1.   

    时间设置成过去的一个值,参考:http://topic.csdn.net/u/20110415/16/6b444f97-cd30-47dc-bed7-3e885169057c.html
      

  2.   

     foreach (Cookie cook in myHttpWebResponse.Cookies)
                {
                    cook.Name = null;
                    cook.Value = null;
                    cook.Expires = DateTime.Now.AddYears(-1000);
                }我在后面加了这样一段代码,不知道正常清除没有,也不知道要怎么调试才看得出来被清除了求指教
      

  3.   

    正在用 很好用->        public static void ClearCookie()
            {
                HttpCookie aCookie;
                string cookieName;
                int limit = HttpContext.Current.Request.Cookies.Count;
                for (int i = 0; i < limit; i++)
                {
                    cookieName = HttpContext.Current.Request.Cookies[i].Name;
                    aCookie = new HttpCookie(cookieName);
                    aCookie.Expires = DateTime.Now.AddDays(-1);
                    HttpContext.Current.Response.Cookies.Add(aCookie);
                }         }
      

  4.   

    楼上的,有详细联系方式么,我向你请教一下 foreach (Cookie cook in myHttpWebResponse.Cookies)
                {
                    cook.Name = null;
                    cook.Value = null;
                    cook.Expires = DateTime.Now.AddYears(-1000);
                }
    我这段代码可以正常清除么?还有就是清除的效果,要怎么调试才看得出来?
      

  5.   

    想看效果 那就设置一个cookie  然后去读 看能不能读出来就可以了 如果读不出来了 自然就是清空了 读写cookie方法->
    创建
    Response.Cookies["username"].Value="zxf"; 
    读取
    string ss =Request.Cookies["username"].Value;//我记得好像是string类型 不行就object
      

  6.   

    当然上面只是简单的操作cookie  还有子键的方法 
    参考
    http://www.cnblogs.com/Leo_wl/archive/2010/04/26/1721642.html
      

  7.   

     request.CookieContainer = container;new一个cookiecontainer就会产生新的,httpwebrequest不需要清除的.