public class CookiesHelper
{
#region 获取Cookie

/// <summary>
/// 获得Cookie的值
/// </summary>
/// <param name="cookieName"></param>
/// <returns></returns>
public static string GetCookieValue(string cookieName)
{
string value = GetCookieValue(cookieName, null);
if (!string.IsNullOrEmpty(value))
{
value = value.Replace("&^%HH123sdfa", ";");
}
return value;
}

/// <summary>
/// 获得Cookie的值
/// </summary>
/// <param name="cookieName"></param>
/// <param name="key"></param>
/// <returns></returns>
public static string GetCookieValue(string cookieName, string key)
{
HttpRequest request = HttpContext.Current.Request;
if (request != null)
return GetCookieValue(request.Cookies[cookieName], key);
return "";
}

/// <summary>
/// 获得Cookie的子键值
/// </summary>
/// <param name="cookie"></param>
/// <param name="key"></param>
/// <returns></returns>
public static string GetCookieValue(HttpCookie cookie, string key)
{
if (cookie != null)
{
if (!string.IsNullOrEmpty(key) && cookie.HasKeys)
return cookie.Values[key];
else
return cookie.Value;
}
return "";
}

/// <summary>
/// 获得Cookie
/// </summary>
/// <param name="cookieName"></param>
/// <returns></returns>
public static HttpCookie GetCookie(string cookieName)
{
HttpRequest request = HttpContext.Current.Request;
if (request != null)
return request.Cookies[cookieName];
return null;
}

#endregion

#region 删除Cookie

/// <summary>
/// 删除Cookie
/// </summary>
/// <param name="cookieName"></param>
public static void RemoveCookie(string cookieName)
{
RemoveCookie(cookieName, null);
}

/// <summary>
/// 设置Cookie失效
/// </summary>
public static void DeleteCookie(string cookieName)
{
CookiesHelper.SetCookie(cookieName, DateTime.Now.AddDays(-1));
}

/// <summary>
/// 删除Cookie的子键
/// </summary>
/// <param name="cookieName"></param>
/// <param name="key"></param>
public static void RemoveCookie(string cookieName, string key)
{
HttpResponse response = HttpContext.Current.Response;
if (response != null)
{
HttpCookie cookie = response.Cookies[cookieName];
if (cookie != null)
{
if (!string.IsNullOrEmpty(key) && cookie.HasKeys)
cookie.Values.Remove(key);
else
response.Cookies.Remove(cookieName);
}
}
}

#endregion

#region 设置/修改Cookie

/// <summary>
/// 设置Cookie子键的值
/// </summary>
/// <param name="cookieName"></param>
/// <param name="key"></param>
/// <param name="value"></param>
public static void SetCookie(string cookieName, string key, string value)
{
SetCookie(cookieName, key, value, null);
}

/// <summary>
/// 设置Cookie值
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void SetCookie(string key, string value)
{
SetCookie(key, null, value, null);
}

/// <summary>
/// 设置Cookie值和过期时间
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="expires"></param>
public static void SetCookie(string key, string value, DateTime expires)
{
SetCookie(key, null, value, expires);
}

/// <summary>
/// 设置Cookie过期时间
/// </summary>
/// <param name="cookieName"></param>
/// <param name="expires"></param>
public static void SetCookie(string cookieName, DateTime expires)
{
SetCookie(cookieName, null, null, expires);
}

/// <summary>
/// 设置Cookie
/// </summary>
/// <param name="cookieName"></param>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="expires"></param>
public static void SetCookie(string cookieName, string key, string value, DateTime? expires)
{
HttpResponse response = HttpContext.Current.Response;
if (response != null)
{
HttpCookie cookie = response.Cookies[cookieName];
if (cookie != null)
{
if (!string.IsNullOrEmpty(key) && cookie.HasKeys)
cookie.Values.Set(key, value);
else
if (!string.IsNullOrEmpty(value))
cookie.Value = value;
if (expires != null)
cookie.Expires = expires.Value;
response.SetCookie(cookie);
}
}

}

#endregion

#region 添加Cookie

/// <summary>
/// 添加Cookie
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void AddCookie(string key, string value)
{
if (!string.IsNullOrEmpty(value))
{
value = value.Replace(";", "&^%HH123sdfa");
}
AddCookie(new HttpCookie(key, value));
}

/// <summary>
/// 添加Cookie
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="expires"></param>
public static void AddCookie(string key, string value, DateTime expires)
{
HttpCookie cookie = new HttpCookie(key, value);
cookie.Expires = expires;
AddCookie(cookie);
}

/// <summary>
/// 添加为Cookie.Values集合
/// </summary>
/// <param name="cookieName"></param>
/// <param name="key"></param>
/// <param name="value"></param>
public static void AddCookie(string cookieName, string key, string value)
{
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Values.Add(key, value);
AddCookie(cookie);
}

/// <summary>
/// 添加为Cookie集合
/// </summary>
/// <param name="cookieName">Cookie名称</param>
/// <param name="expires">过期时间</param>
public static void AddCookie(string cookieName, DateTime expires)
{
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Expires = expires;
AddCookie(cookie);
}

/// <summary>
/// 添加为Cookie.Values集合
/// </summary>
/// <param name="cookieName"></param>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="expires"></param>
public static void AddCookie(string cookieName, string key, string value, DateTime expires)
{
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Expires = expires;
cookie.Values.Add(key, value);
AddCookie(cookie);
}

/// <summary>
/// 添加Cookie
/// </summary>
/// <param name="cookie"></param>
public static void AddCookie(HttpCookie cookie)
{
HttpResponse response = HttpContext.Current.Response;
if (response != null)
{
//指定客户端脚本是否可以访问[默认为false]
cookie.HttpOnly = true;
//指定统一的Path,比便能通存通取
cookie.Path = "/";
//设置跨域,这样在其它二级域名下就都可以访问到了
//cookie.Domain = "chinesecoo.com";
response.AppendCookie(cookie);
}
}

#endregion
}

转载于:https://www.cnblogs.com/2260827114com/p/6479846.html

C# Cookie操作类相关推荐

  1. C# Cookie操作类

    using System; using System.Collections.Generic; namespace XiaoFeng.Web {#region Cookie操作类 V 1.1/// & ...

  2. 简单封装浏览器 cookie 工具类

    版权声明:本文首发 http://asing1elife.com ,转载请注明出处. https://blog.csdn.net/asing1elife/article/details/8265571 ...

  3. django13:Session与Cookie操作

    Session与Cookie cookie 服务端保存在客户端浏览器上的信息都可以教cookie 表现形式一般是k:v键值对(可以多个) 优化: 随机字符串1:用户1相关信息 随机字符串2:用户2相关 ...

  4. php强制cookies,php Cookies操作类(附源码)

    本cookies操作类的功能,包括: 1,保存,读取,更新,清除cookies数据. 2,可设置前缀. 3,强制超时控制. 4,cookies数据可以是字符串,数组,对象等. 1,PHP cookie ...

  5. session保存密码_年薪百万之路--第六十四天 Cookie操作与session操作

    forms组件源码 切入点:form_obj.is_valid() """ def is_valid(self):"""Returns Tr ...

  6. Java学习总结:41(文件操作类:File)

    Java文件操作类:File 在java.io包中,如果要进行文件自身的操作(例如:创建.删除等),只能依靠java.io.File类完成. File类的常用操作方法 No. 方法 类型 描述 1 p ...

  7. Java学习总结:35(数字操作类)

    Java的数字操作类 一.Math类 Math类是一个专门用来进行数学计算的操作类,它提供了一系列的数学计算方法.在Math类里面提供的一切方法都是static型方法,所以可以直接由类名称进行调用. ...

  8. classlist使用方法_如何通过使用HTML5的classList API在没有jQuery的情况下操作类

    classlist使用方法 by Ayo Isaiah 通过Ayo Isaiah 如何通过使用HTML5的classList API在没有jQuery的情况下操作类 (How to manipulat ...

  9. php header setcookie,php中header头设置Cookie与内置setCookie的区别,和js对cookie操作

    首先声明,浏览的Cookie操作都是通过HTTP Header(俗称"Http头") 来实现.所有的服务器与客户端之间Cookie数据传输都是通过Http请求头来操作. PHP中* ...

最新文章

  1. 软件工程第二次课后作业——Gaoooo
  2. 数字图像处理8:图像增强之空域滤波
  3. Linux服务器的最大内存和CPU数
  4. Py之torchvision:torchvision库的简介、安装、使用方法之详细攻略
  5. gethostbyname()函数:通过域名获取IP地址
  6. java python rsa加密_实现Java加密,Python解密的RSA非对称加密算法功能
  7. 08_MinNumberInRotateArrary
  8. 2020下半年python二级考试时间_2020年下半年计算机等级考试报名通知
  9. redshift教程_分析和可视化Amazon Redshift数据—教程
  10. MySQL 学习三:来教你如何完全卸载掉本地“头大的” MySQL 数据库!
  11. SpringBoot2.1.5(45)--- Spring Boot的核心模块
  12. php内li背景色,CSS_css中ul li的背景小图标属性设置的两种情况,这里我们分两种情况列出: ① - phpStudy...
  13. 【一天一个C++小知识】008.内联函数
  14. leaflet地图区域数据可视化
  15. SQL Server2012安装教程
  16. 伟大时刻:小米的命门
  17. 计算机网络asp视频教程,ASP.net动态网页制作视频教程
  18. Java实现消息队列服务
  19. AspNetCore.Mvc写Get方法运行显示该网页无法正常运作 http err 500问题
  20. 镜像miracast投屏软件_什么是Miracast投屏,Miracast是怎么投屏的?

热门文章

  1. js读取div从html中导入,在html中div+css布局的简单应用...-js+div+css下拉导航菜单完整代...-CSS文件的条件导入 - Gene Li_169IT.COM...
  2. Eclipse中svn插件:Subclipse插件安装
  3. 【SSL】java keytool工具创建自己的(localhost)(JKS)证书库
  4. php cookie加密 类,PHP cookie加密类
  5. 输入一个数判断是否对称java_判断对称矩阵 - osc_4mawo3g6的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 方舟服务器修改错误,方舟进服务器提示网络错误怎么办 | 手游网游页游攻略大全...
  7. cmd 调用webservice接口_c# 三种方法调用WebService接口
  8. 双网卡连接mysql数据库_双网卡实现两台电脑共享上网经验笔记
  9. 实用脚本!利用 Python 对 PDF 进行加密、解密操作,代码拿走就用!
  10. pyqt漂亮gui界面模板_一种基于模板的C代码自动生成方法