如何获取cookie代码,如何获取cookie数据

  

  为CookieWeb应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问我们的网站时,他们可以使用Cookie保存用户偏好或其他信息,以便用户下次访问我们的网站时,应用程序可以检索以前保存的信息。   

  

  曲奇是什么鬼东西?   

  

  Cookie是一小段文本信息,它与用户请求和页面一起在Web服务器和浏览器之间传递。每当用户访问一个站点时,Web应用程序可以读取Cookie中包含的信息。   

  

  Cookie的出现解决了保存用户信息的问题。例如   

  

  当用户访问网页时,用户名可以存储在cookie中。用户下次访问该页面时,cookie会记住用户名。Cookie可以记住所有网页中的用户信息。它包含字符串形式的信息,并以键-值对的形式保存,即key=value的格式。Cookie通常以“;”开头分开。   

  

  用户名=雏菊绿色复制代码Cookie缺点   

  

  Cookie可能被禁用。当用户非常注重个人隐私保护时,很可能会禁用浏览器的cookie功能;Cookie与浏览器相关。这意味着即使访问同一个页面,不同浏览器之间存储的cookie也不能互相访问。Cookie可能会被删除。因为每个cookie都是硬盘上的一个文件,很可能被用户删除;Cookie安全性不够高。所有的cookie都是明文记录在文件中的,所以如果要保存用户名、密码等信息,最好提前加密。库克工作模式   

  

  以服务器cookie的形式向访问者的浏览器发送一些数据。如果浏览器允许接受cookie。它以纯文本记录的形式存储在访问者的硬盘上。   

  

     

  

  当访问者跳转到另一个页面时,浏览器会将相同的cookie发送到服务器进行检索。一旦检索到它,您的服务器就知道或记住了以前存储的内容。   

  

  饼干的成分   

  

  在HTTP Cookie的头信息中,HTTP Set-Cookie的头格式如下:   

  

  set-cookie : name=value;HTTP代码中复制代码的一个具体例子:   

  

  meta http-equiv=' set-cookie ' content=' cookieName=cookieValue;expires=01-Dec-2006 01:14:26 GMT;Path=/'/copy code从上面的格式可以看出,Cookie是由以下几部分组成的。   

  

  Name/Value对   

  

  名称/值用分号分隔。最多20对cookie,每个网页最多一个cookie。值的长度不超过4K。对于Value值,最好用encodeURIComponent编码。   

  

  Domain   

  

  域名在默认情况下也是Cookie.的一部分,用户访问的网页的域名会被保存在Cookie.如果设置了这个Cookie的域名值,就意味着该域名上的所有服务器,不仅仅是你访问的服务器,都可以访问这个Cookie。通常情况下,不要这样。设置域名的格式如下:domain=http://xyz.com   

  

  path   

  

  设置哪个网页目录可以访问特定服务器的Cookie。设置路径的格式为:path=/movies。   

  

  Expires   

  

  设置cookies的生存期。默认情况下,当用户关闭浏览器时,cookies会被自动删除。如果没有设置过期时间,当用户关闭浏览器时,cookies将会消失。如果设置了此项,Cookie的生命周期可以延长。以日期对象的GMT形式在JS中设置时间,格式如下:expires=date.toGMTString()   

  

  Secure   

  

  取真值或假值。如果为真,则Cookie必须通过https发送。   

  

  JS Cookie   

  

  在JS中,可以使用Document对象的cookie属性来操作cookie。JS可以读取、创建、修改和删除当前网页的cookie,查看具体操作。   

  

  创建Cookie   

  

  JS可以使用document.cookie属性来创建cookie。可以通过以下方式创建Cookies:   

  

  文件   

t.cookie = "username=Daisy Green";复制代码还可以添加有效日期(UTC 时间)。默认情况下,在浏览器关闭时会删除 cookie:

  

document.cookie = "username=Daisy Green; expires=Mon, 26 Aug 2019 12:00:00 UTC";复制代码通过 path 参数,可以告诉浏览器 cookie 属于什么路径。默认情况下,cookie 属于当前页。

  

document.cookie = "username=Daisy Green; expires=Mon, 26 Aug 2019 12:00:00 UTC"; path=/";复制代码读取 Cookie

  

通过 JS,可以这样读取 cookie:

  

var x = document.cookie;复制代码document.cookie 会在一条字符串中返回所有 cookie,比如:cookie1=value; cookie2

  

事例:

  

<html> <head> <script type = "text/javascript"> <!-- function ReadCookie() { var allcookies = document.cookie; document.write ("All Cookies : " + allcookies ); // Get all the cookies pairs in an array cookiearray = allcookies.split(';'); // Now take key value pair out of this array for(var i=0; i<cookiearray.length; i++) { name = cookiearray.split('=')<0>; value = cookiearray.split('=')<1>; document.write ("Key is : " + name + " and Value is : " + value); } } //--> </script> </head> <body> <form name = "myform" action = ""> <p> click the Button to View Result:</p> <input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/> </form> </body></html>复制代码运行:

  

  

改变 cookie

  

通过使用 JS,咱们可以像创建 cookie 一样改变它:

  

document.cookie = "username=Steve Jobs; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";复制代码这样旧 cookie 会被覆盖。

  

事例:

  

<html> <head> <script type = "text/javascript"> <!-- function WriteCookie() { var now = new Date(); now.setMonth( now.getMonth() + 1 ); cookievalue = escape(document.myform.customer.value) + ";" document.cookie = "name=" + cookievalue; document.cookie = "expires=" + now.toUTCString() + ";" document.write ("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name = "myform" action = ""> Enter name: <input type = "text" name = "customer"/> <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/> </form> </body></html>复制代码运行:

  

  

删除 cookie

  

删除 cookie 非常简单,不必指定 cookie 值:直接把 expires 参数设置为过去的日期即可:

  

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";复制代码应该定义 cookie 路径以确保删除正确的 cookie。如果不指定路径,有些浏览器不会让咱们删除 cookie。

  

事例:

  

<html> <head> <script type = "text/javascript"> <!-- function WriteCookie() { var now = new Date(); now.setMonth( now.getMonth() - 1 ); cookievalue = escape(document.myform.customer.value) + ";" document.cookie = "name=" + cookievalue; document.cookie = "expires=" + now.toUTCString() + ";" document.write("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name = "myform" action = ""> Enter name: <input type = "text" name = "customer"/> <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/> </form> </body></html>复制代码代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。

  

相关文章