How to get cookies info inside of a CookieContainer? (All Of Them, Not For A Specific Domain)

后端 未结 6 1571
野性不改
野性不改 2020-12-09 09:48

Please see the code below:

CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(\"http://www.g         


        
6条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-09 10:27

    None of the answers worked for me. This is my humble solution for the problem.

    public static List List(this CookieContainer container)
    {
        var cookies = new List();
    
        var table = (Hashtable)container.GetType().InvokeMember("m_domainTable",
            BindingFlags.NonPublic |
            BindingFlags.GetField |
            BindingFlags.Instance,
            null,
            container,
            null);
    
        foreach (string key in table.Keys)
        {
            var item = table[key];
            var items = (ICollection) item.GetType().GetProperty("Values").GetGetMethod().Invoke(item, null);
            foreach (CookieCollection cc in items)
            {
                foreach (Cookie cookie in cc)
                {
                    cookies.Add(cookie);
                }
            }
        }
    
        return cookies;
    }           
    

提交回复
热议问题