zoukankan      html  css  js  c++  java
  • CookieHelper

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Web;
    
    namespace Common
    {
        public class CookieHelper
        {
            /// <summary>
            /// 保存一个Cookie
            /// </summary>
            /// <param name="CookieName">Cookie名称</param>
            /// <param name="CookieValue">Cookie值</param>
            /// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param>
            public static void SaveCookie(string CookieName, string CookieValue, double CookieTime)
            {
                HttpCookie myCookie = new HttpCookie(CookieName);
                DateTime now = DateTime.Now;
                myCookie.Value = CookieValue;
    
                if (CookieTime != 0)
                {
                    myCookie.Expires = now.AddDays(CookieTime);
                    if (HttpContext.Current.Response.Cookies[CookieName] != null)
                        HttpContext.Current.Response.Cookies.Remove(CookieName);
    
                    HttpContext.Current.Response.Cookies.Add(myCookie);
                }
                else
                {
                    if (HttpContext.Current.Response.Cookies[CookieName] != null)
                        HttpContext.Current.Response.Cookies.Remove(CookieName);
    
                    HttpContext.Current.Response.Cookies.Add(myCookie);
                }
            }
    
    
            /// <summary>
            /// 取得CookieValue
            /// </summary>
            /// <param name="CookieName">Cookie名称</param>
            /// <returns>Cookie的值</returns>
            public static string GetCookie(string CookieName)
            {
                HttpCookie myCookie = new HttpCookie(CookieName);
                myCookie = HttpContext.Current.Request.Cookies[CookieName];
    
                if (myCookie != null)
                    return myCookie.Value;
                else
                    return null;
            }
    
    
            /// <summary>
            /// 清除CookieValue
            /// </summary>
            /// <param name="CookieName">Cookie名称</param>
            public static void ClearCookie(string CookieName)
            {
                HttpCookie myCookie = new HttpCookie(CookieName);
                DateTime now = DateTime.Now;
    
                myCookie.Expires = now.AddYears(-2);
    
                HttpContext.Current.Response.Cookies.Add(myCookie);
            }
    
    
    
            #region 清除Cookie
    
            /// <summary>
            /// 清除Cookie
            /// </summary>
            /// <param name="cookieName"></param>
            public static void ClearCookie(string cookieName, string domain, string path)
            {
                cookieName = Encode(cookieName);
    
                HttpCookie cookie = new HttpCookie(cookieName);
                cookie.Domain = domain;
                cookie.Path = path;
                cookie.Expires = DateTime.Now.AddDays(-360);
    
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
            }
    
            /// <summary>
            /// 从多值Cookie移除个subKey
            /// </summary>
            /// <param name="cookieName"></param>
            /// <param name="subKey"></param>
            public static void ClearCookie(string cookieName, string subKey, string domain, string path)
            {
                cookieName = Encode(cookieName);
                subKey = Encode(subKey);
    
                HttpCookie cookie;
    
                if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null)
                {
                    cookie = new HttpCookie(cookieName);
                }
                else
                {
                    cookie = System.Web.HttpContext.Current.Request.Cookies[cookieName];
                }
                cookie.Domain = domain;
                cookie.Path = path;
    
                cookie.Values.Remove(subKey);
    
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
            }
    
            public static string Encode(string input)
            {
                if (string.IsNullOrEmpty(input))
                {
                    return null;
                }
                // return AntiXssEncoderTwo.UrlEncode(input);
                return HttpUtility.UrlEncode(input);//.Replace("_", "%5F").Replace("&", "%26").Replace("+", "%2B");
            }
    
            public static string Decode(string input)
            {
                return HttpUtility.UrlDecode(input);
            }
            #endregion   
        }
    }
  • 相关阅读:
    sslforfree的证书合并成类似于certbot的ssl证书文件
    190129 胡思乱想
    Android deprecated apache module (HttpClient, HttpResponse, etc.)
    黑阀 adb 命令
    windows10 vs2019 + opencv 3.4.7环境搭建
    ASP.NET MVC 微信公众号支付,微信公众平台配置
    jQuery 滚动条 滚动到底部(下拉到底部) 加载数据(触发事件、处理逻辑)、分页加载数据
    js显示yyyy年mm日dd天 星期几 的格式日期
    jQuery对 动态添加 的元素 绑定事件(on()的用法)
    Jquery判断页面图片是否加载失败,加载失败则显示默认图片
  • 原文地址:https://www.cnblogs.com/wangchuang/p/7229638.html
Copyright © 2011-2022 走看看