Cookie Cookie Cookie Cookie Class

定義

提供用來管理 Cookie 的一組屬性和方法。Provides a set of properties and methods that are used to manage cookies. 這個類別無法被繼承。This class cannot be inherited.

public ref class Cookie sealed
[System.Serializable]
public sealed class Cookie
type Cookie = class
Public NotInheritable Class Cookie
繼承
CookieCookieCookieCookie
屬性

範例

下列範例會將要求傳送至 URL, 並顯示回應中傳回的 cookie。The following example sends a request to a URL and displays the cookies returned in the response.

#using <System.dll>

using namespace System;
using namespace System::Net;

// This example is run at the command line.
// Specify one argument: the name of the host to 
// send the request to.
// If the request is sucessful, the example displays the contents of the cookies
// returned by the host.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args == nullptr || args->Length != 2 )
   {
      Console::WriteLine( "Specify the URL to receive the request." );
      Environment::Exit( 1 );
   }

   
   HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create( args[ 1 ] ));
   request->CookieContainer = gcnew CookieContainer;
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
   response->Cookies = request->CookieContainer->GetCookies( request->RequestUri );
   
   // Print the properties of each cookie.
   System::Collections::IEnumerator^ myEnum = response->Cookies->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Cookie^ cook = safe_cast<Cookie^>(myEnum->Current);
      Console::WriteLine( "Cookie:" );
      Console::WriteLine( "{0} = {1}", cook->Name, cook->Value );
      Console::WriteLine( "Domain: {0}", cook->Domain );
      Console::WriteLine( "Path: {0}", cook->Path );
      Console::WriteLine( "Port: {0}", cook->Port );
      Console::WriteLine( "Secure: {0}", cook->Secure );
      Console::WriteLine( "When issued: {0}", cook->TimeStamp );
      Console::WriteLine( "Expires: {0} (expired? {1})", cook->Expires, cook->Expired );
      Console::WriteLine( "Don't save: {0}", cook->Discard );
      Console::WriteLine( "Comment: {0}", cook->Comment );
      Console::WriteLine( "Uri for comments: {0}", cook->CommentUri );
      Console::WriteLine( "Version: RFC {0}", cook->Version == 1 ? (String^)"2109" : "2965" );
      
      // Show the string representation of the cookie.
      Console::WriteLine( "String: {0}", cook );
      
   }

}

// Output from this example will be vary depending on the host name specified,
// but will be similar to the following.
/*
Cookie:
CustomerID = 13xyz
Domain: .contoso.com
Path: /
Port:
Secure: False
When issued: 1/14/2003 3:20:57 PM
Expires: 1/17/2013 11:14:07 AM (expired? False)
Don't save: False
Comment: 
Uri for comments:
Version: RFC 2965
String: CustomerID = 13xyz
*/
using System.Net;
using System;
namespace Examples.System.Net.Cookies
{
    // This example is run at the command line.
    // Specify one argument: the name of the host to 
    // send the request to.
    // If the request is sucessful, the example displays the contents of the cookies
    // returned by the host.
    
    public class CookieExample
    {   
        public static void Main(string[] args)
        {   
            if (args == null || args.Length != 1)
            {
                Console.WriteLine("Specify the URL to receive the request.");
                Environment.Exit(1);
            }
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
            request.CookieContainer = new CookieContainer();
        
            HttpWebResponse response = (HttpWebResponse) request.GetResponse();
            
            

            // Print the properties of each cookie.
            foreach (Cookie cook in response.Cookies)
            {
                Console.WriteLine("Cookie:");
                Console.WriteLine("{0} = {1}", cook.Name, cook.Value);
                Console.WriteLine("Domain: {0}", cook.Domain);
                Console.WriteLine("Path: {0}", cook.Path);
                Console.WriteLine("Port: {0}", cook.Port);
                Console.WriteLine("Secure: {0}", cook.Secure);
             
                Console.WriteLine("When issued: {0}", cook.TimeStamp);
                Console.WriteLine("Expires: {0} (expired? {1})", 
                    cook.Expires, cook.Expired);
                Console.WriteLine("Don't save: {0}", cook.Discard);    
                Console.WriteLine("Comment: {0}", cook.Comment);
                Console.WriteLine("Uri for comments: {0}", cook.CommentUri);
                Console.WriteLine("Version: RFC {0}" , cook.Version == 1 ? "2109" : "2965");

                // Show the string representation of the cookie.
                Console.WriteLine ("String: {0}", cook.ToString());
            }
        }
    }
}

// Output from this example will be vary depending on the host name specified,
// but will be similar to the following.
/*
Cookie:
CustomerID = 13xyz
Domain: .contoso.com
Path: /
Port:
Secure: False
When issued: 1/14/2003 3:20:57 PM
Expires: 1/17/2013 11:14:07 AM (expired? False)
Don't save: False
Comment: 
Uri for comments:
Version: RFC 2965
String: CustomerID = 13xyz
*/

Imports System.Net
Imports System

' This example is run at the command line.
' Specify one argument: the name of the host to 
' receive the request.
' If the request is sucessful, the example displays the contents of the cookies
' returned by the host.

Public Class CookieExample
    
    Public Shared Sub Main(args() As String)
        If args Is Nothing OrElse args.Length <> 1 Then
            Console.WriteLine("Specify the URL to receive the request.")
            Environment.Exit(1)
        End If
        Dim request As HttpWebRequest = CType(WebRequest.Create(args(0)), HttpWebRequest)
        request.CookieContainer = New CookieContainer()
        
        Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)

        
        
        ' Print the properties of each cookie.
        Dim cook As Cookie
        For Each cook In  response.Cookies
            Console.WriteLine("Cookie:")
            Console.WriteLine("{0} = {1}", cook.Name, cook.Value)
            Console.WriteLine("Domain: {0}", cook.Domain)
            Console.WriteLine("Path: {0}", cook.Path)
            Console.WriteLine("Port: {0}", cook.Port)
            Console.WriteLine("Secure: {0}", cook.Secure)
            
            Console.WriteLine("When issued: {0}", cook.TimeStamp)
            Console.WriteLine("Expires: {0} (expired? {1})", cook.Expires, cook.Expired)
            Console.WriteLine("Don't save: {0}", cook.Discard)
            Console.WriteLine("Comment: {0}", cook.Comment)
            Console.WriteLine("Uri for comments: {0}", cook.CommentUri)
            Console.WriteLine("Version: RFC {0}", IIf(cook.Version = 1, "2109", "2965"))
            
            ' Show the string representation of the cookie.
            Console.WriteLine("String: {0}", cook.ToString())
        Next cook
    End Sub 'Main
End Class 'CookieExample 



' Output from this example will be vary depending on the host name specified,
' but will be similar to the following.
'
'Cookie:
'CustomerID = 13xyz
'Domain: .contoso.com
'Path: /
'Port:
'Secure: False
'When issued: 1/14/2003 3:20:57 PM
'Expires: 1/17/2013 11:14:07 AM (expired? False)
'Don't save: False
'Comment: 
'Uri for comments:
'Version: RFC 2965
'String: CustomerID = 13xyz
'

備註

用戶端應用程式會使用類別來抓取HTTP回應所收到之cookie的相關資訊。CookieThe Cookie class is used by a client application to retrieve information about cookies that are received with HTTP responses. 剖析 HTTP 回應標頭時, 支援下列 cookie 格式: 原始的 Netscape 規格、RFC 2109 和 RFC 2965。The following cookie formats are supported during parsing of the HTTP response headers: the original Netscape specification, RFC 2109, and RFC 2965.

如需實例的Cookie初始屬性值清單, 請參閱各種不同Cookie的函式。For a list of initial property values for an instance of Cookie, see the various Cookie constructors.

建構函式

Cookie() Cookie() Cookie() Cookie()

初始化 Cookie 類別的新執行個體。Initializes a new instance of the Cookie class.

Cookie(String, String) Cookie(String, String) Cookie(String, String) Cookie(String, String)

使用指定的 CookieName,初始化 Value 類別的新執行個體。Initializes a new instance of the Cookie class with a specified Name and Value.

Cookie(String, String, String) Cookie(String, String, String) Cookie(String, String, String) Cookie(String, String, String)

使用指定的 CookieNameValue,初始化 Path 類別的新執行個體。Initializes a new instance of the Cookie class with a specified Name, Value, and Path.

Cookie(String, String, String, String) Cookie(String, String, String, String) Cookie(String, String, String, String) Cookie(String, String, String, String)

使用指定的 CookieNameValuePath,初始化 Domain 類別的新執行個體。Initializes a new instance of the Cookie class with a specified Name, Value, Path, and Domain.

屬性

Comment Comment Comment Comment

取得或設定伺服器可加入至 Cookie 的註解。Gets or sets a comment that the server can add to a Cookie.

CommentUri CommentUri CommentUri CommentUri

取得或設定伺服器以 Cookie 提供的 URI 註解。Gets or sets a URI comment that the server can provide with a Cookie.

Discard Discard Discard Discard

取得或設定由伺服器設定的捨棄旗標。Gets or sets the discard flag set by the server.

Domain Domain Domain Domain

取得或設定 Cookie 為有效的 URI。Gets or sets the URI for which the Cookie is valid.

Expired Expired Expired Expired

取得或設定 Cookie 的目前狀態。Gets or sets the current state of the Cookie.

Expires Expires Expires Expires

取得或設定 Cookie 的到期日和時間為 DateTimeGets or sets the expiration date and time for the Cookie as a DateTime.

HttpOnly HttpOnly HttpOnly HttpOnly

決定頁面指令碼或其他主動式內容是否可以存取這個 Cookie。Determines whether a page script or other active content can access this cookie.

Name Name Name Name

取得或設定 Cookie 的名稱。Gets or sets the name for the Cookie.

Path Path Path Path

取得或設定 Cookie 要套用的 URI。Gets or sets the URIs to which the Cookie applies.

Port Port Port Port

取得或設定 Cookie 可以套用的 TCP 連接埠清單。Gets or sets a list of TCP ports that the Cookie applies to.

Secure Secure Secure Secure

取得或設定 Cookie 的安全層級。Gets or sets the security level of a Cookie.

TimeStamp TimeStamp TimeStamp TimeStamp

取得以 DateTime 發出 Cookie 的時間。Gets the time when the cookie was issued as a DateTime.

Value Value Value Value

取得或設定 ValueCookieGets or sets the Value for the Cookie.

Version Version Version Version

取得或設定 Cookie 依據的 HTTP 狀態維護版本。Gets or sets the version of HTTP state maintenance to which the cookie conforms.

方法

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

覆寫 Equals(Object) 方法。Overrides the Equals(Object) method.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

覆寫 GetHashCode() 方法。Overrides the GetHashCode() method.

GetType() GetType() GetType() GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

建立目前 Object 的淺層複本 (Shallow Copy)。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

覆寫 ToString() 方法。Overrides the ToString() method.

適用於

另請參閱