日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cookie总结

發布時間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cookie总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?????//寫

??????? HttpCookie cookie = new HttpCookie("userName");??????
??????? cookie.Value = "zhangsan"; //cookie["name"] = "zhangsan";???????????????

??????? cookie.Expires = DateTime.Now.AddDays(1);//這里設置要保存多長時間.? 不設置expires,默認為關閉瀏覽器 就刪除cookie

??????? Response.Cookies.Add(cookie);

?

??? ?//讀

?????????? HttpCookie cookie = Request.Cookies["userName"]; //string name = cookie.Values["name"];
?????????? string name = cookie.Value;

?

//清除cookie

?? HttpCookie cookie=Request.Cookies["userName"];
?? if(cookie!=null)
?? {
??? cookie.Expires=DateTime.Now.AddDays(-2);???
??? Response.Cookies.Set(cookie);
?? }

?

?

?

?

//?Response.Cookies.Add(new HttpCookie(LANGUAGE_COOKIE_NAME, language));

?

另一:

?如果一個cookie對象里面就放一個值

??? 則就可以直接的添加

??????????? 添加:

?????????? HttpCookie VisitTime = new HttpCookie("TimeSelf");


??????????? Response.Cookies.Add(VisitTime);

??????????? 獲取:

?????????? Response.Write(Request.Cookies["TimeSelf"].Value)

?

如果一個cookie對象里面放多個值

????????? 添加:

???????? HttpCookie LaoNiu= new HttpCookie("People");


?????????? LaoNiu.Values["name"] = "老牛";


????????? LaoNiu.Values["age"] = "23";


????????? Response.Cookies.Add(LaoNiu);

???????? 獲取:

??????? HttpCookie LaoNiu02= Request.Cookies["People"];


????????? Response.Write(LaoNiu02.Values["name"]);


????????? Response.Write(LaoNiu02.Values["age"]);

?

以上兩種cookic都是即時的,也就是說當你關閉瀏覽器時候它就失效

你也可以通過Expires設置失效日期或時間

LaoNiu.Expires=System.DateTime.Now.AddMinutes(要設置的整形數據---分鐘)

?

另一:

Cookie就是所謂的" 小甜餅" ,他最早出現是在Netscape Navigator 2.0中。Cookie其實就是由Web服務器創建的、將信息存儲在計算機上的文件。那么為什么Web服務器要在客戶機上面創建如此文件?這是因為當客戶機發送一個請求到WEB服務器時(譬如準備瀏覽頁面時),無論此客戶機是否是第一次來訪,服務器都會把它當作第一次來對待,WEB服務器所做的工作只是簡單的進行響應,然后就關閉與該用戶的連接。這樣處理過程所帶來的缺點時顯而易見的。自從網景公司開發出Cookie以后,就可以利用Cookie來保存用戶的識別信息。Cookie的作用可以記錄了您在該站點上曾經訪問過的頁面,由此幫助您下次訪問該站點時自定義查看。Cookies 也可以存儲個人可識別信息。個人可識別信息是可以用來識別或聯系您的信息,例如姓名、電子郵件地址、家庭或工作地址,或者電話號碼。然而,網站只能訪問您提供的個人可識別信息。例如,除非您提供電子郵件名稱,否則網站將不能確定您的電子郵件名稱。另外,網站不能通過Cookie來訪問計算機上的其他信息。當然除非你提供。那么Cookie到底存放在什么地方?如果機器的系統是視窗98且安裝在" C" 盤中,那么Cookie存放在" C:\Windows\Cookies" 目錄中;如果機器系統是視窗2000且安裝在" C" 盤中,那么Cookie存放在" C:\Documents and Settings\Administrator\Cookies" 目錄中。了解了Cookie這么多知識,我們還是來了解一下本文的重點-- C#是如何進行Cookie方面編程的。主要內容有二點:其一是 C#是如何寫入Cookie;其二是 C#是如何訪問自己寫入的Cookie。

一、本文介紹的程序設計和運行的軟件環境:

?

  • 微軟公司視窗2000服務器版
  • .Net FrameWork SDK Beta 2
  • C#進行Cookie方面編程是通過ASP.NET頁面來實現的。

    二、C#如何寫入Cookie:

    為了寫入Cookie,他的步驟主要有三步,具體如下:

    ?

  • 首先就要創建一個HttpCookie對象,通過這個對象來構造一個Cookie,這個對象的名稱就是以后產生的Cookie名稱。具體如下代碼:
    HttpCookie cookie = new HttpCookie ( " 用戶定義的Cookie名稱" ) ;
  • 然后對創建的HttpCookie對象的" Value" 屬性分配一個字符串值," Value" 的值就是后來產生的Cookie的值。具體代碼如下:
    cookie.Value = "用戶給Cookie賦值" ; 如果你想寫入的Cookie數值不是一個簡單的字符串,而是一個復雜的數據類型,我們知道這些數據類型是不能直接存貯到Cookie中的,因為Cookie中只能存貯字符串。但你可以通過一個變通的方法,就是把這個復雜的數據類型轉換成多個字符串,然后把這多個字符串同時賦值給產生的Cookie值,這樣Cookie中的內容就豐富了,以后利用Cookie完成的功能也強大了。這時你可能就會明白為什么當你瀏覽Web服務器,Web服務器會知道你什么時候曾經瀏覽過,并且曾經待過多長時間等信息了。因為這些信息已經存儲到你第一次瀏覽頁面時,Web服務器產生的Cookie中去了。下列代碼是把多個字符串存儲到Cookie的例子:
    cookie [ " 姓名" ] = " 王天";
    cookie [ " 性別" ] = " 男";
    cookie [ " 年齡" ] = " 26";
    Cookie有臨時的,也有永遠的。永久 Cookie 以文件形式存儲在計算機上,關閉 Internet Explorer 時仍然保留在計算機上。再次訪問該站點時,創建該 Cookie 的網站可以讀取。在具體的編程時候,是在寫入此Cookie的時候,設定Cookie的生命周期,具體如下代碼:
    DateTime dtNow = DateTime . Now ;
    TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;
    cookie . Expires = dtNow + tsMinute ;
    以上代碼是設定產生的Cookie的生命期為" 一個小時" ,你可以通過修改" TimeSpan" 屬性來設定產生Cookie的具體生命期。
  • .最后調用" Response.Cookies" 對象的" Add()" 方法,加入此對象,這樣就可以產生一個Cookie了。具體代碼如下:
    Response . Cookies . Add ( cookie ) ;
    下列代碼就是在 C#寫入Cookie的完整代碼(Write.aspx):
    <% @ language = "C#" %>
    <script runat = "server" >
    void WriteClicked ( Object Sender , EventArgs e )
    {
    //創建一個HttpCookie對象
    HttpCookie cookie = new HttpCookie ( NameField . Text ) ;
    //設定此cookies值
    cookie . Value = ValueField . Text ;
    //設定cookie的生命周期,在這里定義為一個小時
    DateTime dtNow = DateTime . Now ;
    TimeSpan tsMinute = new TimeSpan ( 0 , 1 , 0 , 0 ) ;
    cookie . Expires = dtNow + tsMinute ;
    cookie [ "姓名" ] = "王天" ;
    cookie [ "性別" ] = "男" ;
    cookie [ "年齡" ] = "26" ;
    //加入此cookie
    Response . Cookies . Add ( cookie ) ;
    Response . Write ( NameField . Text + "Cookie創建完畢 <br > <hr > " ) ;
    }
    </script >
    <html >
    <body >
    <h3 > 在 C#頁面中創建cookie </h3 >
    此cookie的生命周期定義為一個小時
    <form runat="server">
    Cookie名稱:<asp:textbox id = "NameField" runat = "server" /> <br >
    Cookie的值:<asp:textbox id = "ValueField" runat = "server" /> <br >
    <asp:button text = "創建Cookie" onclick = "WriteClicked" runat = "server" /> <br >
    </form >
    </body >
    </html >
  • 下圖是上面代碼運行后的界面:

    ?


    圖01:C#寫入Cookie的程序運行界面

    當然上面的代碼產生的Cookie在內容上面有點單調了。其實對于內容十分豐富的Cookie來說,他還有許多屬性,充分的利用這些屬性,才可以利用了Cookie的強大功能。下表是Cookie的一些常用的屬性:

    ?

    屬性描述
    Domain設定/獲得Cookie應屬于的域名。一旦設定了此屬性,則只限定于此域名的Web服務器訪問此Cookie。可以設定為"ccw.com.cn"
    Path設定/獲得Cookie應屬于的路徑,如果設定后,則訪問此Cookie的Web頁面則被限定在此路徑里面。其他路徑的Web頁面則不能訪問。
    Secure設定/獲得一個標識來表明利用HTTP協議是否能夠安全的傳輸Cookie到客戶端的瀏覽器。
    HasKeys表明是否此Cookie是否是多個字符串組成的。

    在寫入Cookie的時候,最大限度的利用這些屬性,對于最大程度的利用寫入的Cookie是十分重要的。

    三、C#是如何讀取已產生的Cookie:

    讀取指定的Cookie比起寫入Cookie要來的容易的多了,只需要使用" Request.Cookies" 對象就可以完成。下面是讀取指定Cookie名稱的方法:

    HttpCookie cookie = Request.Cookies [ " Cookie的名稱" ] ;

    下面是顯示已經讀取了的Cookie的數值:

    ?

    Response.Write (cookie . Value . ToString ( ) ) ; 掌握了上面的要點,讀取Cookie就顯得非常容易了,下列是讀取Cookie的程序代碼(read.aspx): <% @ language = "C#" %>
    <script runat = "server" >
    void ReadClicked ( Object Sender , EventArgs e )
    {
    //得到用戶輸入的cookie名稱
    String strCookieName = NameField . Text ;
    //獲得cookie
    HttpCookie cookie = Request.Cookies [ strCookieName ] ;
    //確定是否存在用戶輸入的cookie
    if ( null == cookie ) {
    Response.Write ( "沒有發現指定的cookie <br > <hr > " ) ;
    }
    else {
    //找到指定的cookie,顯示cookie的值
    String strCookieValue = cookie . Value . ToString ( ) ;
    Response.Write ( strCookieName + " cookie 的值為: <b > "
    + strCookieValue + " </b > <br > <hr > " ) ;
    }
    }
    </script >
    <html >
    <body >
    在 C#頁面中讀取指定Cookie值<br >
    <form runat = "server" >
    請輸入要讀取的Cookie名稱:<asp:textbox id = "NameField" runat = "server" />
    <asp:button text = "讀取cookie" onclick = "ReadClicked" runat = "server" />
    </form >
    </body >
    </html >

    下圖是上面代碼運行后的界面:

    ?


    圖02:讀取指定Cookie的值的程序運行界面

    四、總結:

    至此我們已經介紹了用 C#進行Cookie編程的大部分內容。其實Cookie在互聯網上有著比較大的作用。譬如它可讓WEB站點跟蹤特定訪問者的訪問次數、最后訪問時間和訪問者進入站點的路徑等;還可告訴在線廣告商廣告被點擊的次數,從而可以更精確的投放廣告;它可讓用戶在不鍵入密碼和用戶名的情況下進入曾經瀏覽過的一些站點;最為重要的是它可幫助站點統計用戶資料以實現個性化服務等等。掌握了 C#的Cookie編程,就可以在程序中充分利用Cookie來實現上面的這些功能了。不信你試一試。

    轉載于:https://www.cnblogs.com/lhuser/articles/1607622.html

    總結

    以上是生活随笔為你收集整理的cookie总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。