程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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