Cookie Класс

Определение

Предоставляет набор свойств и методов, которые используются для управления файлами 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
Наследование
Cookie
Атрибуты

Примеры

В следующем примере запрос отправляется на 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);
            }
            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.The 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.Initializes a new instance of the Cookie class.

Cookie(String, String)

Инициализирует новый экземпляр класса Cookie с заданными объектами Name и Value.Initializes a new instance of the Cookie class with a specified Name and Value.

Cookie(String, String, String)

Инициализирует новый экземпляр класса Cookie с заданными объектами Name, Value и Path.Initializes a new instance of the Cookie class with a specified Name, Value, and Path.

Cookie(String, String, String, String)

Инициализирует новый экземпляр класса Cookie с заданными объектами Name, Value, Path и Domain.Initializes a new instance of the Cookie class with a specified Name, Value, Path, and Domain.

Свойства

Comment

Возвращает или задает комментарий, который сервер может добавлять в Cookie.Gets or sets a comment that the server can add to a Cookie.

CommentUri

Возвращает или задает комментарий URI, который сервер может предоставлять с Cookie.Gets or sets a URI comment that the server can provide with a Cookie.

Discard

Возвращает или задает флаг сброса, задаваемый сервером.Gets or sets the discard flag set by the server.

Domain

Возвращает или задает URI, для которого Cookie является допустимым.Gets or sets the URI for which the Cookie is valid.

Expired

Возвращает или задает текущее состояние Cookie.Gets or sets the current state of the Cookie.

Expires

Возвращает или задает для Cookie дату и время окончания действия в виде DateTime.Gets or sets the expiration date and time for the Cookie as a DateTime.

HttpOnly

Определяет, может ли получить доступ к файлу cookie скрипт страницы или другое активное содержимое.Determines whether a page script or other active content can access this cookie.

Name

Возвращает или задает имя для Cookie.Gets or sets the name for the Cookie.

Path

Возвращает или задает идентификаторы URI, к которым применяется Cookie.Gets or sets the URIs to which the Cookie applies.

Port

Возвращает или задает список TCP-портов, к которым применяется Cookie.Gets or sets a list of TCP ports that the Cookie applies to.

Secure

Возвращает или задает уровень безопасности Cookie.Gets or sets the security level of a Cookie.

TimeStamp

Возвращает время выпуска файла cookie в виде DateTime.Gets the time when the cookie was issued as a DateTime.

Value

Возвращает или задает Value для объекта Cookie.Gets or sets the Value for the Cookie.

Version

Возвращает или задает версию поддержки запоминания состояния HTTP, которой соответствует файл cookie.Gets or sets the version of HTTP state maintenance to which the cookie conforms.

Методы

Equals(Object)

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

GetHashCode()

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

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

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

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

Дополнительно