Request.Cookies使用方法分析

CJDN_001發表於2019-06-27

本文介紹了Request.Cookies的基本的語法和使用方法,而且通過演示樣例分析了Request.Cookies的使用過程。

Request.Cookies方法能夠檢索Cookies 集合中的值,Cookies 集合同意使用者檢索在 HTTP 請求中傳送的 cookie 的值。

Request.Cookies使用語法:Request.Cookies(cookie)[(key)|.attribute]

Cookies是一種標記,由WEBserver嵌入到使用者瀏覽器中,以便識別使用者,下次同一瀏覽器請求網頁時,將傳送從WEBserver收到的Cookies。

利用Cookies可儲存與使用者相關的資訊。

利用Response和Request物件的Cookies集合。可實現設定或獲得Cookies的值。
  利用Response物件的Cookies集合,設定Cookies的使用方法為:
  Response.Cookies(CookieName)[(Key)|.Attribute]=value

引數說明:
(1)CookieName:代表表示Cookie的名字,由使用者自行命名。
(2)Key:是Cookie指定keyword。通過給Cookie指定keyword,可使Cookie擁有多個值。這樣的Cookie稱為帶索引的Cookie。
(3)Attribute:此參數列示Cookies集合物件的屬性,其最經常使用的屬性主要是Expires(用於設定Cookies的過期日期)、Domain(用於設定Cookies的有效作用域名範圍)。
比方:若要設定一個名為VisitNum的Cookie,用以儲存該使用者訪問本站點的次數。並初始化其值為1,則實現程式碼為:

<%Response.Cookies("VisitNum")=1%>

該語句必須位於網頁的標記之前。
若指定的Cookies己經存在,則將重寫Cookies的值,若不存在,建建立該Cookies。

利用該方法所設定的Cookies僅在當前會話中有效,若要在使用者已經終止或又一次啟動瀏覽器之後仍有效,就必須強制瀏覽器將Cookie儲存到使用者的硬碟上,為此。能夠通過設定Cookies集合物件的Expires屬性為此後的某一段時間來實現。

比如,若要設定名為VisitNum的Cookies在5天后過期,則設定方法為:

<%
Response.Cookies("VisitNum")=1
Response.Cookies("VisitNum").Expires=DateAdd("d",5,Date)
%>

比如:使用Cookie儲存網友訪問站點的次數和近期一次訪問的日期和時間,並要求該Cookie在7天后過期。
   要儲存的資訊有2個。並且這2個資訊有一定的聯絡。因此。可用帶索引的Cookies來實現。

另外,也能夠用兩個不同的Cookie來分別儲存。
  為了實現累加訪問次數。可利用Request物件的Cookie集合物件來獲得Cookie的值。遞增後,再賦回給該Cookie。Request對Cookie操作的方法與Response相似,僅僅只是Request是用來獲取Cookies的值,而Response是用來設定Cookies的值。
(1)帶索引的Cookies的實現方法為:

<%
if Request.Cookies("UserVisit")("num")="" then   '若該Cookie不存在
   Response.Cookies("UserVisit")("num")=1        '則建立該Cookie並賦初值
else
   Response.Cookies("UserVisit")("num")=Request.Cookies("UserVisit")("num")+1
end if
Response.Cookies("UserVisit")("LastVisit")=now
Response.Cookies("UserVisit").Expires=DateAdd("ww",1,Date)
%>

為了測試是否正確設定了Cookie,可用下面程式碼通過輸出對應Cookie的值來實現:

<%="訪問人數為:"&Request.Cookies("UserVisit")("num") &"<BR>近期訪問時間為:" & Request.Cookies("UserVisit")("LastVisit")%>

(2)用兩個不同Cookie的實現方法(不帶索引):

<%
Response.Cookies("VisitNum")=1
Resposne.Cookies("VisitNum").Expires=DateAdd("ww",1,Date)
Response.Cookies("LastVisit")=now
Response.Cookies("LastVisit").Expires=DateAdd("ww",1,Date)
%>

引自yfceshi

相關文章