Cookie Class
Provides a set of properties and methods that are used to manage cookies. This class cannot be inherited.
Assembly: System (in System.dll)
The Cookie type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() | Cookie() | Initializes a new instance of the Cookie class. |
![]() ![]() | Cookie(String, String) | Initializes a new instance of the Cookie class with a specified Name and Value. |
![]() ![]() | Cookie(String, String, String) | Initializes a new instance of the Cookie class with a specified Name, Value, and Path. |
![]() ![]() | Cookie(String, String, String, String) | Initializes a new instance of the Cookie class with a specified Name, Value, Path, and Domain. |
| Name | Description | |
|---|---|---|
![]() ![]() | Comment | Gets or sets a comment that the server can add to a Cookie. |
![]() ![]() | CommentUri | 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 | Gets or sets the URI for which the Cookie is valid. |
![]() ![]() | Expired | Gets or sets the current state of the Cookie. |
![]() ![]() | Expires | Gets or sets the expiration date and time for the Cookie as a DateTime. |
![]() ![]() | HttpOnly | Determines whether a page script or other active content can access this cookie. |
![]() ![]() | Name | Gets or sets the name for the Cookie. |
![]() ![]() | Path | Gets or sets the URIs to which the Cookie applies. |
![]() ![]() | Port | Gets or sets a list of TCP ports that the Cookie applies to. |
![]() ![]() | Secure | Gets or sets the security level of a Cookie. |
![]() ![]() | TimeStamp | Gets the time when the cookie was issued as a DateTime. |
![]() ![]() | Value | Gets or sets the Value for the Cookie. |
![]() ![]() | Version | Gets or sets the version of HTTP state maintenance to which the cookie conforms. |
| Name | Description | |
|---|---|---|
![]() ![]() | Equals | Overrides the Object::Equals method. (Overrides Object::Equals(Object).) |
![]() ![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() ![]() | GetHashCode | Overrides the Object::GetHashCode method. (Overrides Object::GetHashCode().) |
![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() | ToString | 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. /* 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 */
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

