Sdílet prostřednictvím


Cookie Třída

Definice

Poskytuje sadu vlastností a metod, které se používají ke správě souborů cookie. Tato třída se nemůže dědit.

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
Dědičnost
Cookie
Atributy

Příklady

Následující příklad odešle požadavek na adresu URL a zobrazí soubory cookie vrácené v odpovědi.

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

Poznámky

Třída Cookie je používána klientskou aplikací k načtení informací o souborech cookie, které jsou přijaty s odpověďmi HTTP. Při analýze hlaviček odpovědi HTTP jsou podporovány následující formáty souborů cookie: původní specifikace Netscape, RFC 2109 a RFC 2965.

Seznam počátečních hodnot vlastností pro instanci nástroje najdete v různých konstruktorechCookieCookie.

Konstruktory

Cookie()

Inicializuje novou instanci Cookie třídy.

Cookie(String, String)

Inicializuje novou instanci Cookie třídy se zadanými Name a Value.

Cookie(String, String, String)

Inicializuje novou instanci Cookie třídy se zadanými Name, Valuea Path.

Cookie(String, String, String, String)

Inicializuje novou instanci Cookie třídy se zadanými Name, Value, Patha Domain.

Vlastnosti

Comment

Získá nebo nastaví komentář, který server může přidat do Cookie.

CommentUri

Získá nebo nastaví komentář URI, který server může poskytnout s Cookie.

Discard

Získá nebo nastaví příznak zahození nastavený serverem.

Domain

Získá nebo nastaví identifikátor URI, pro který Cookie je platný.

Expired

Získá nebo nastaví aktuální stav Cookie.

Expires

Získá nebo nastaví datum a čas vypršení platnosti pro CookieDateTimejako .

HttpOnly

Určuje, jestli má skript stránky nebo jiný aktivní obsah přístup k tomuto souboru cookie.

Name

Získá nebo nastaví název pro Cookie.

Path

Získá nebo nastaví identifikátory URI, na které Cookie se vztahuje.

Port

Získá nebo nastaví seznam portů TCP, které Cookie platí pro.

Secure

Získá nebo nastaví úroveň zabezpečení .Cookie

TimeStamp

Získá čas, kdy byl soubor cookie vydán jako DateTime.

Value

Získá nebo nastaví pro ValueCookie.

Version

Získá nebo nastaví verzi údržby stavu HTTP, které soubor cookie vyhovuje.

Metody

Equals(Object)

Přepíše metodu Equals(Object) .

GetHashCode()

Přepíše metodu GetHashCode() .

GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Přepíše metodu ToString() .

Platí pro

Viz také