Cookie Cookie Cookie Cookie Class

Definition

Provides a set of properties and methods that are used to manage cookies. This class cannot be inherited.

public ref class Cookie sealed
[Serializable]
public sealed class Cookie
type Cookie = class
Public NotInheritable Class Cookie
Inheritance
CookieCookieCookieCookie
Attributes
SerializableAttribute

Examples

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
'

Remarks

The Cookie class is used by a client application to retrieve information about cookies that are received with HTTP responses. The following cookie formats are supported during parsing of the HTTP response headers: the original Netscape specification, RFC 2109, and RFC 2965.

For a list of initial property values for an instance of Cookie, see the various Cookie constructors.

Constructors

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

Initializes a new instance of the Cookie class.

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

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)

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)

Initializes a new instance of the Cookie class with a specified Name, Value, Path, and Domain.

Properties

Comment Comment Comment Comment

Gets or sets a comment that the server can add to a Cookie.

CommentUri CommentUri CommentUri CommentUri

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

Gets or sets the URI for which the Cookie is valid.

Expired Expired Expired Expired

Gets or sets the current state of the Cookie.

Expires Expires Expires Expires

Gets or sets the expiration date and time for the Cookie as a DateTime.

HttpOnly HttpOnly HttpOnly HttpOnly

Determines whether a page script or other active content can access this cookie.

Name Name Name Name

Gets or sets the name for the Cookie.

Path Path Path Path

Gets or sets the URIs to which the Cookie applies.

Port Port Port Port

Gets or sets a list of TCP ports that the Cookie applies to.

Secure Secure Secure Secure

Gets or sets the security level of a Cookie.

TimeStamp TimeStamp TimeStamp TimeStamp

Gets the time when the cookie was issued as a DateTime.

Value Value Value Value

Gets or sets the Value for the Cookie.

Version Version Version Version

Gets or sets the version of HTTP state maintenance to which the cookie conforms.

Methods

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

Overrides the Equals(Object) method.

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

Overrides the GetHashCode() method.

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

Gets the Type of the current instance.

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

Creates a shallow copy of the current Object.

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

Overrides the ToString() method.

Applies to

See Also