当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP编程技术学习:Cookie集合

ASP
[原创]asp下用实现模板加载的的几种方法总结
asp下利用fso实现文件夹或文件移动改名等操作函数
asp cint clng的范围与防止cint和clng的溢出解决方法大全
asp防范跨站点脚本攻击的的方法
独孤剑写的马克斯迅雷片库采集插件1.4 官方最新版提供下载了
根据日期得到生肖的ASP函数
不错的主要用于加密的vbs(asp)位移运算类
Script.VBS.Agent.ai juan.vbs专杀
循环取值Request.QueryString的用法
asp下实现字符串的补充fill()
无服务器做任意二级米子站
几种另类的ASP后门
asp事物功能简单小应用
ASP获取网页全部图片地址并保存为数组的正则
通过客户端验证上传图片文件大小的ASP源码
asp下计算分页的几种方法
谈动态多行多列,循环行和列,输出M行N列的ASP代码
asp在线执行sql语句的函数
asp正则html的图片,对图自动缩放大小
文件名 正则表达式提取方法

ASP编程技术学习:Cookie集合


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-22   浏览: 90 ::
收藏到网摘: n/a

     Cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个Web站点会话之间持久地保持数据。Request和Response对象都有一组Cookie。


  Request.cookie集合是一系列Cookie,从客户端与HTTP Request一起发送到Web服务器。反过来,如果你希望把Cookie发送到客户机,就可以使用Response.cookie

   1、ExpiresAbsolute属性

  该属性可以赋一个日期,过了这个日期Cookie就不能再被使用了。通过给Expires属性赋一个过期的日期,就可以删除Cookie。如:

<%Response.cookies("passtime").
expiresAbsolute="1/1/99"%>

  2、Domain属性

  该属性定义Cookie要传送的唯一域。如:Cookie只传送给Microsoft的人,则可以使用以下代码。

<%Response.Cookies("domain").Domain="www.microsoft.com"%>

  3、ASP用来写入Cookie即向客户机发送Cookie的语法如下: 

  Response.Cookie("Cookie名").[("键名").属性]=内容

  如果某个ASP文件要创建一个Cookie,则下面的代码可以放在ASP文件的第一个<html>之前,以避免产生错误.

<%Response.Cookies("CookieName")="NewCookie" %>
<html>
......
</html>

  4、同样ASP用Request对象的Cookies集合来读取Cookie,如:

<%Response.write Request.Cookies("CookieName")%>

  下面以一个完整的例子来说明Cookie:

<%
dim Num
Num=Request.Cookies("Visit_num")
if Num>0 then
Num=Num+1
Response.write "您已是第" & Num & "次访问本站点了。"
else
Response.write "欢迎您首次访问本站。"
Num=1
end if
Response.Cookies("Visit_num")=Num
%>

  在该例子中,首先读取Cookies变量Visit_num,看用户端计算机是否保存有Cookies变量。如果有该变量,则说明用户已经访问过该页面,同时输入出访问次数。如果用户是首次访问该页面,则其计算机内不会有Cookies变量,程序会显示“欢迎”字样,然后将Cookies变量Visit_num存到用户计算机中,以便该用户下一次访问该页面时给出“访问的次数”信息。

  5、Cookie字典

  有时在一个页面中可能需要定义很多个Cookies变量,为了更好地管理它,在Cookies组件中常引入一人的概念“子键”。引用它的语法如下:

  Request.Cookies("变更名")("子键名")  

  如下面的Cookie创建一个名为"Dictionary"的字典,其中保存了三个键值:

<%
Response.Cookie("info")("Myname")="jeff"
Response.Cookie("info")("Gender")="male"
Response.Cookie("info")("Myheight")="172"
%>

  事实上客户机上的Cookie字典是以字符串的形式存在:

info=Myname=jeff&Gender=male&Myheight=172

  如果用户没有指定“子键”名而直接引用Cookies变量,将会返回一个包含所有的“子键”名及值的字符串。例如上面这个例子包含三个“子键”:"Myname"、"Gender"和"Myheight",当用户没有指定其“子键”而直接通过Request.Cookies("info")来引用时,则会得到下列字符串:

info=Myname=jeff&Gender=male&Myheight=172

  如果要把Cookie中读取的所有数据,可以用下面的代码得到:

<%
For each cookie in Request.Cookies
if Not cookie.HasKeys then
Response.write cookie & "=" & Request.Cookies(cookie)
Else
for each key in Request.Cookies(cookie)
Response.write cookie&"("&key&")"&"="& Request.Cookies(cookie)(key)
next
end if
next
%>

  或者:

<%
'Declare counter variables
Dim Cookie, Subkey
'Display the entire cookie collection.
For Each Cookie in Request.Cookies
Response.Write Cookie
If Request.Cookies(Cookie).HasKeys Then
'Display the subkeys
For Each Subkey in Request.Cookies(Cookie)
Response.Write Subkey & "=" & Request.Cookies(Cookie)(Subkey) & "<BR>"
Next
Else
Response.Write ":No subkeys in this cookie<BR>"
End If
Next
%>