[C#] 纯文本查看 复制代码
public static string updateCookie(string oldcookie, string newcookie)
        {
            List<string> oldcookielist = new List<string>();
            if (oldcookie.Contains(";"))
                oldcookielist = new List<string>(oldcookie.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries));
            else
                oldcookielist.Add(oldcookie);
            List<string> newcookielist = new List<string>();
            if (newcookie.Contains(";"))
                newcookielist = new List<string>(newcookie.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries));
            else
                newcookielist.Add(newcookie);
            foreach (string cookie in newcookielist)
            {
                //Console.WriteLine("cookie:" + cookie);
                if (!string.IsNullOrWhiteSpace(cookie))
                {
                    if (!string.IsNullOrWhiteSpace(cookie.Split('=')[1])) //判断cookie的value值是为空,不为空时才进行操作
                    {
                        bool isFind = false; //判断是否是新值
                        for (int i = 0; i < oldcookielist.Count; i++)
                        {
                            if (cookie.Split('=')[0] == oldcookielist.Split('=')[0])
                            {
                                //oldcookielist.Split('=')[1] = cookie.Split('=')[1];
                                oldcookielist = cookie;
                                isFind = true;
                                break;
                            }
                        }
                        if (!isFind) //如果计算后还是false,则表示newcookie里出现新值了,将新值添加到老cookie里
                            oldcookielist.Add(cookie);
                    }
                }
            }
            oldcookie = string.Empty;
            for (int i = 0; i < oldcookielist.Count; i++)
                oldcookie += oldcookielist + ";";
            return oldcookie;