C#操作Cookie

简介:

/* 创建者:菜刀居士的博客
 * 创建日期: 2014年09月02号
 * 功能:操作Cookie
 *
 */

namespace Net.String.ConsoleApplication
{
    using System;
    using System.Web;

    public static class CookieHelper
    {
        /// <summary>
        /// 加入cookie
        /// </summary> 
        public static void AddCookie(this HttpContext h,string name, string value)
        {
            HttpCookie cookieName = new HttpCookie(name, System.Web.HttpUtility.UrlEncode(value, System.Text.Encoding.GetEncoding(65001)));
            h.Response.Cookies.Add(cookieName);
        }

        /// <summary>
        /// 加入cookie
        /// </summary>
        public static void AddCookie(this HttpContext h,string name, string value, TimeSpan span)
        {
            HttpCookie cookieName = new HttpCookie(name, System.Web.HttpUtility.UrlEncode(value, System.Text.Encoding.GetEncoding(65001)));

            cookieName.Expires = DateTime.Now.Add(span);

            h.Response.Cookies.Add(cookieName);
        }

        /// <summary>
        /// 得到cookie
        /// </summary> 
        public static string GetCookie(this HttpContext h, string name)
        {
            if (h.Request.Cookies[name] != null)
            {
                if (h.Response.Cookies.Count > 0 && h.Response.Cookies[name] != null)
                {
                    return System.Web.HttpUtility.UrlDecode(h.Response.Cookies[name].Value, System.Text.Encoding.GetEncoding(65001));
                }
                return System.Web.HttpUtility.UrlDecode(h.Request.Cookies[name].Value, System.Text.Encoding.GetEncoding(65001));
            }
            else
            { return string.Empty; }
        }

        /// <summary>
        /// 删除cookie
        /// </summary> 
        public static void RemoveCookie(this HttpContext h,string name)
        {
            h.Response.Cookies[name].Value = null;
            h.Response.Cookies[name].Expires = DateTime.Now.AddDays(-1);
        }

        /// <summary>
        /// 清空cookie
        /// </summary> 
        public static void ClearCookie(this HttpContext h)
        {
            try
            {
                foreach (HttpCookie hc in h.Response.Cookies)
                {
                    hc.Value = null;
                    hc.Expires = DateTime.Now.AddDays(-1);
                }
            }
            catch { }
        }
    }
}







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5085554.html,如需转载请自行联系原作者


相关文章
|
8月前
|
存储 Web App开发 安全
Django中Cookie相关操作
Django中Cookie相关操作
|
存储 JavaScript
js -cookie的操作
cookie是存储在客户端浏览器中的一段文本信息。
|
8月前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
59 0
|
8月前
|
存储 前端开发 Java
【源码共读】在前端如何操作 Cookie
【源码共读】在前端如何操作 Cookie
120 1
|
存储 JavaScript 前端开发
cookie相关操作
cookie相关操作
59 0
|
JavaScript 前端开发 Java
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙
虽然Cookie和Session都是暂时存在的,不久就会被删掉,但是我们要退出登录的时候,就不能等待其自然消除了~
82 0
|
存储 前端开发 Java
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙
虽然Cookie和Session都是暂时存在的,不久就会被删掉,但是我们要退出登录的时候,就不能等待其自然消除了~
115 0
|
测试技术
Selenium 操作表单元素、行为链、操作Cookie和页面等待
Selenium 操作表单元素、行为链、操作Cookie和页面等待
124 0
|
存储 数据安全/隐私保护
servelt的cookie操作
servelt的cookie操作
|
Java 开发者
Cookie操作|学习笔记
快速学习Cookie操作
Cookie操作|学习笔记