程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 實現Cookie

實現Cookie

編輯:關於C++

一、在活動的應答項中設置cookie,以及在請求中讀同樣的cookie. 把Cookies 設置為應答的一部分,使用SetCookieField方法:

TStringList* Cookies = new TStringList();

Cookies->Add("Answer=42"); // whatever...

Response->SetCookieField(Cookies,NULL,NULL,Now()+1,false);

Cookies->Free();

注意:我們使用一個TStringList來設立一列Cookie值。(傳遞給SetCookieField 的第一個參數)。cookies的每一個列可以有一個主域(Domain) (第二個參數)和路徑(第三個參數)聯合起來。(象drbob42.com), 標識哪個URL是cookie將要發送去的。你可以留空這兩個參數(就象上面代碼一樣).第四個參數指定cookie結束日期,這裡我設置為"第二天的同個時間",使用Now()+1來設置。最後一個參數要指定,如果cookie的使用是通過一個安全的網絡(over a secure network)的話。

用戶如果認可這個cookie, 接著在一個OnAction事件中我們需要讀cookie的值。(以便確定回答字段的值)Cookie是請求類(Request

class)的一部分,就象ContentFields,所以可以使用CookieFields屬性來得到:

int Answer = StrToInt(request->CookieFields->Values["Answer"]);

注意:在調用StrToInt()可能會發生一個例外,(如空的串(string),這種情況下cookie將沒被設置,沒找到或終止) 所以在這裡要使用一個try-except。

二、使用VCL如何讀和寫cookies

讀一個cookie的值:

Request->CookieFields->Values["name of cookie"];

向一個cookie寫值:

Response->SetCookieField(TStrings* Values, AnsiString Domain, AnsiString APath, TDateTime AExpires, bool ASecure);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved