BCB中使用Cookie |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
BCB中使用Cookie 作者:雨中漫步
http://www.chinabcb.com/ 一、在活動的應答項中設置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);網路志工聯盟----Visita網站http://www.vista.org.tw ---[ 發問前請先找找舊文章 ]--- |
haman
中階會員 發表:46 回覆:137 積分:56 註冊:2005-03-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |