C# 遍历CookieContainer里面的所有数据

 public static List<Cookie> GetAllCookies(CookieContainer cc)
         {
             List<Cookie> lstCookies = new List<Cookie>();
 
             Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, cc, new object[] { });
             StringBuilder sb = new StringBuilder();
             foreach (object pathList in table.Values)
             {
                 SortedList lstCookieCol = (SortedList)pathList.GetType().InvokeMember("m_list", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, pathList, new object[] { });
                 foreach (CookieCollection colCookies in lstCookieCol.Values)
                     foreach (Cookie c in colCookies) {
                         lstCookies.Add(c);
                         sb.AppendLine(c.Domain + ":" + c.Name + "____" + c.Value + "\r\n");
                     }
             }
             writeLog.writeToLog("22.txt", sb.ToString());
             return lstCookies;
         }
posted on 2012-07-29 00:51  西湖浪子  阅读(2380)  评论(0)    收藏  举报