Cookie Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

Namespace:   System.Net
Assembly:  System (in System.dll)


public ref class Cookie sealed 


Initializes a new instance of the Cookie class.

System_CAPS_pubmethodCookie(String^, String^)

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

System_CAPS_pubmethodCookie(String^, String^, String^)

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

System_CAPS_pubmethodCookie(String^, String^, String^, String^)

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


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


Gets or sets a URI comment that the server can provide with a Cookie.


Gets or sets the discard flag set by the server.


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


Gets or sets the current state of the Cookie.


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


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


Gets or sets the name for the Cookie.


Gets or sets the URIs to which the Cookie applies.


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


Gets or sets the security level of a Cookie.


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


Gets or sets the Value for the Cookie.


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


Overrides the Object::Equals method.(Overrides Object::Equals(Object^).)


Overrides the Object::GetHashCode method.(Overrides Object::GetHashCode().)


Gets the Type of the current instance.(Inherited from Object.)


Overrides the Object::ToString method.(Overrides Object::ToString().)

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.

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.
CustomerID = 13xyz
Path: /
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
Uri for comments:
Version: RFC 2965
String: CustomerID = 13xyz

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 3.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top