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
Атрибуты

Примеры

В следующем примере отправляется запрос на URL-адрес и отображаются файлы 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 используется клиентским приложением для получения сведений о файлах cookie, полученных с помощью HTTP-ответов. Во время анализа заголовков ответа HTTP поддерживаются следующие форматы файлов cookie: исходная спецификация Netscape, RFC 2109 и RFC 2965.

Список начальных значений свойств для экземпляра Cookieсм. в различных Cookie конструкторах.

Конструкторы

Имя Описание
Cookie()

Инициализирует новый экземпляр класса Cookie.

Cookie(String, String, String, String)

Инициализирует новый экземпляр класса Cookie с указанным Name, Value, Pathи Domain.

Cookie(String, String, String)

Инициализирует новый экземпляр класса Cookie с указанным Name, Valueи Path.

Cookie(String, String)

Инициализирует новый экземпляр класса Cookie с указанным Name и Value.

Свойства

Имя Описание
Comment

Возвращает или задает комментарий, который сервер может добавить в Cookie.

CommentUri

Получает или задает комментарий URI, который сервер может предоставить Cookieс помощью .

Discard

Возвращает или задает флаг отмены, заданный сервером.

Domain

Возвращает или задает универсальный код ресурса (URI), для которого Cookie допустимый.

Expired

Возвращает или задает текущее состояние объекта Cookie.

Expires

Возвращает или задает дату и время окончания срока действия для имени CookieDateTime.

HttpOnly

Определяет, может ли скрипт страницы или другое активное содержимое получить доступ к этому файлу cookie.

Name

Возвращает или задает имя для Cookieобъекта .

Path

Возвращает или задает URI, к которым Cookie применяется.

Port

Возвращает или задает список TCP-портов, к которым Cookie применяется.

Secure

Возвращает или задает уровень безопасности объекта Cookie.

TimeStamp

Возвращает время, когда файл cookie был выдан в качестве DateTimeфайла.

Value

Возвращает или задает Value значение для Cookieпараметра .

Version

Возвращает или задает версию обслуживания состояния HTTP, для которой соответствует файл cookie.

Методы

Имя Описание
Equals(Object)

Переопределяет Equals(Object) метод.

GetHashCode()

Переопределяет GetHashCode() метод.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Переопределяет ToString() метод.

Применяется к

См. также раздел