zoukankan      html  css  js  c++  java
  • c# CookieContainer Cookie丢失bug、跨域问题等解决方案

     

    //修改域
    public static CookieContainer InitCookie(CookieContainer cc)
    {
    CookieContainer coo = new CookieContainer();
    Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, cc, new object[] { });
    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)
    {
    c.Domain = ".qq.com";
    coo.Add(c);
    
    }
    }
    return coo;
    }
     
    //提取Cookie值
      public static string GetValueByCookieName(string key, CookieContainer cc)
            {
                Hashtable table = (Hashtable)cc.GetType().InvokeMember("m_domainTable", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance, null, cc, new object[] { });
                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)
                        {
                            if (c.Name.ToLower() == key)
                            {
                                return c.Value;
                            }
                        }
                }
                return "";
            }
     
    

      

  • 相关阅读:
    每天学一点管理知识——100-1=0定律
    每天学一点管理知识——赫勒法则
    每天学一点管理知识——卡贝定律
    每天学一点管理知识——韦特莱法则
    每天学一点管理知识——【证人的记忆】
    开发平台的优势在哪?
    WF工作流与管理类应用系统工作流需求实现的一些误区
    命名空间
    函数
    删除补充/集合/深浅拷贝
  • 原文地址:https://www.cnblogs.com/chengulv/p/2828068.html
Copyright © 2011-2022 走看看