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

ASP
用ASP获取客户端IP地址的方法
IIS服务器防范攻击3条安全设置技巧
ASP上传组件AspUploadv3.0安装的问题
ASP教程:读取文件和写文件
ASP实例教程:长文章分页功能
最常用的正则表达式示例
asp实现文件md5
ASP教程:DateDiff函数和DateAdd函数
ASP教程:nchar,char,varchar和nvarchar
ASP过滤script脚本的正则函数
ASP函数:移除HTML代码
ASP教程:800a0400的解决方案
ASP视频教程:Windows XP下安装IIS
ASP视频教程:Windows XP下配置IIS
ASP视频教程:安装SQL Server 2000数据库
ASP视频教程:SQL企业管理器建立数据库和管理员表
ASP视频:Dreamweaver中建立站点和连接数据库
ASP视频教程:建立后台管理的登录页面
ASP视频教程:对登录页面进行美化
ASP视频教程:建立后台管理的框架页面

ASP编程技术学习:Cookie集合


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-22   浏览: 116 ::
收藏到网摘: 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
%>