語言

Cookie 類別

定義

提供一組用於管理 Cookie 的屬性與方法。 此類別無法獲得繼承。

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

範例

以下範例會向一個網址發送請求,並顯示回應中回傳的 Cookie。

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);
            }
            var request = (HttpWebRequest)WebRequest.Create(args[0]);
            request.CookieContainer = new CookieContainer();

            using (var response = (HttpWebResponse) request.GetResponse())
            {
                // Print the properties of each cookie.
                foreach (Cookie cook in response.Cookies)
                {
                    Console.WriteLine("Cookie:");
                    Console.WriteLine($"{cook.Name} = {cook.Value}");
                    Console.WriteLine($"Domain: {cook.Domain}");
                    Console.WriteLine($"Path: {cook.Path}");
                    Console.WriteLine($"Port: {cook.Port}");
                    Console.WriteLine($"Secure: {cook.Secure}");

                    Console.WriteLine($"When issued: {cook.TimeStamp}");
                    Console.WriteLine($"Expires: {cook.Expires} (expired? {cook.Expired})");
                    Console.WriteLine($"Don't save: {cook.Discard}");
                    Console.WriteLine($"Comment: {cook.Comment}");
                    Console.WriteLine($"Uri for comments: {cook.CommentUri}");
                    Console.WriteLine($"Version: RFC {(cook.Version == 1 ? 2109 : 2965)}");

                    // Show the string representation of the cookie.
                    Console.WriteLine($"String: {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
*/
Imports System.Net

' 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 = WebRequest.Create(args(0))
        request.CookieContainer = New CookieContainer()
    
        Using response As HttpWebResponse = request.GetResponse()
            ' Print the properties of each cookie.
            For Each cook As Cookie In response.Cookies
                Console.WriteLine("Cookie:")
                Console.WriteLine($"{cook.Name} = {cook.Value}")
                Console.WriteLine($"Domain: {cook.Domain}")
                Console.WriteLine($"Path: {cook.Path}")
                Console.WriteLine($"Port: {cook.Port}")
                Console.WriteLine($"Secure: {cook.Secure}")
    
                Console.WriteLine($"When issued: {cook.TimeStamp}")
                Console.WriteLine($"Expires: {cook.Expires} (expired? {cook.Expired})")
                Console.WriteLine($"Don't save: {cook.Discard}")
                Console.WriteLine($"Comment: {cook.Comment}")
                Console.WriteLine($"Uri for comments: {cook.CommentUri}")
                Console.WriteLine($"Version: RFC {If(cook.Version = 1, 2109, 2965)}")
    
                ' Show the string representation of the cookie.
                Console.WriteLine($"String: {cook}")
            Next
        End Using
    End Sub
End Class



' 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
'

備註

此 Cookie 類別被用戶端應用程式用來擷取與 HTTP 回應一同接收的 Cookie 資訊。 在解析 HTTP 回應標頭時,支援以下 cookie 格式:原始 Netscape 規範、RFC 2109 及 RFC 2965。

關於 的 Cookie初始屬性值列表,請參見各種 Cookie 建構子。

建構函式

名稱 Description
Cookie()

初始化 Cookie 類別的新執行個體。

Cookie(String, String, String, String)

初始化類別的新實例Cookie,指定為 Name、 Value、 PathDomain、 。

Cookie(String, String, String)

初始化該類別的新實例 Cookie ,指定為 Name、 Value、 Path和 。

Cookie(String, String)

初始化該類別的新實例 Cookie ,並指定 NameValue和 。

屬性

名稱 Description
Comment

會取得或設定一個註解,伺服器可以新增 Cookie到 .

CommentUri

會取得或設定一個 URI 註解,伺服器可以提供 Cookie。

Discard

取得或設定伺服器設定的棄牌旗標。

Domain

取得或設定 有效的 Cookie URI。

Expired

取得或設定 的當前狀態 Cookie。

Expires

取得或設定 的 Cookie 到期日和時間為 DateTime。

HttpOnly

判斷頁面腳本或其他活躍內容是否能存取此 Cookie。

Name

取得或設定 的名稱。Cookie

Path

取得或設定適用的 Cookie URI。

Port

取得或設定一套適用 Cookie 的 TCP 埠口清單。

Secure

取得或設定 的安全等級為 Cookie。

TimeStamp

取得 cookie 作為 DateTime.

Value

取得或設定 Value 。Cookie

Version

取得或設定 Cookie 所遵循的 HTTP 狀態維護版本。

方法

名稱 Description
Equals(Object)

會覆寫這個 Equals(Object) 方法。

GetHashCode()

會覆寫這個 GetHashCode() 方法。

GetType()

取得目前實例的 Type。

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

會覆寫這個 ToString() 方法。

適用於

另請參閱