zoukankan      html  css  js  c++  java
  • cookie 的一点点总结

      最近写了一个功能就是利用Cookie,来保存客户端的常用搜索关键词。所以对cookie做一点点总结。也希望在博客园和大家交流、学习!

      Cookie是一点文本信息,保存在客户端。是asp.net将会话与请求关联的方法之一,也可以用在请求之间传输数据,但数据随后将存储在客户端并随每个请求一起发送到服务器。浏览器对Cookie的大小限制的4096字节内。单一站点限制Cookie数量是50个(IE)。

      创建Cookie:方式一

    //方式一
     HttpCookie acookie = new HttpCookie("last"); //初始化并设置Cookie名称
     acookie.Value="username";
     acookie..Expires=DateTime.MaxValue; //设置过期时间
     Response.Cookies.Add(acookie);
    
     //方式二
     Response.Cookies["username"].value="mike";
     Response.Cookies["username"].Expires=DateTime.MaxValue;  //设置过期时间

     创建多值Cookie的写法

    //方式1:
    HttpCookie cookie = new HttpCookie("Userinfo");
    cookie.Values["UserName"]="mike";
    cookie.Values["Password"]="123456";
    cookie.Expires=DateTime.MaxValue; 
    //cookie.Expires = System.DateTime.Now.AddDays(1);//设置过期时间  1天
    Response.Cookies.Add(cookie);

    //方式2:
    Response.Cookies["Userinfo"]["UserName"].value="mike";
    Response.Cookies["Userinfo"]["Password"].value="123456";
    Response.Cookies["Userinfo"].Expires=DateTime.MaxValue; 

     创建Cookie 集合的写法

    HttpCookie cookie=new HttpCookie("MyCook");//初使化并设置Cookie的名称
        DateTime dt=DateTime.Now;
        TimeSpan ts = new TimeSpan(0, 0, 1,0,0);//过期时间为1分钟
        cookie.Expires = dt.Add(ts);//设置过期时间
        cookie.Values.Add("userid", "userid_value");         //保存第一组数据
        cookie.Values.Add("userid2","userid2_value2");    //保存第二组数据
        Response.AppendCookie(cookie);

      读取Cookie :

    Internet Explorer 将站点的 Cookie 保存在文件名格式为 <user>@<domain>.txt 的文件中,其中 <user> 是您的帐户名。
    注意:在获取Cookie的值之前,应该确保该 Cookie 确实存在。否则,您将得到一个异常

    If (Request.Cookies["userName"]!=null)
    {
       string str = Request.Cookies("userName").Value; 
    }
    

      读取多值Cookie

    //多值Cookie的读取
    If ( Request.Cookies["userInfo1"]!=null )
    {
      string name=Request.Cookies["UserInfo"]["UserName"];
      string pad=Request.Cookies["UserInfo1"]["Password"]; 
    }
    

     读取 Cookie 集合

     var userCookie = Request.Cookies["Userinfo"];
     if (userCookie.HasKeys) //是否有子键
     {
        for (int j = 0; j < userCookie.Values.Count; j++)
        {
           Response.Write("子键名:" + userCookie.Values.AllKeys[j] + "  " + "子键值:" + userCookie.Values[j] + "<br/>");
        }
    }
    else
    {
        Response.Write("value=" + userCookie.Value + "<br/>");
    }
    

       删除Cookie。

    将其有效期设置为过去的某个日期。当浏览器检查 Cookie 的有效期时,就会删除这个已过期的 Cookie。

               var cok = Request.Cookies["Userinfo"];
                cok.Expires = DateTime.Now.AddDays(-1);
                Response.AppendCookie(cok);
  • 相关阅读:
    React 高阶组件
    Facebook Graph API 接口请求
    (转载)HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
    php file_put_contents() 写入回车
    mysql 慢查询开启
    FB接口之 js调用支付窗口
    8 个必备的PHP功能开发
    linux 负载 待读
    大话团队管理。
    API编排
  • 原文地址:https://www.cnblogs.com/qinjian123/p/2737757.html
Copyright © 2011-2022 走看看