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)
| Name | Description | |
|---|---|---|
![]() | Cookie() | Initializes a new instance of the Cookie class. |
![]() | Cookie(String^, String^) | |
![]() | Cookie(String^, String^, String^) | |
![]() | Cookie(String^, String^, String^, String^) |
| 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(Object^) | Overrides the Object::Equals method.(Overrides Object::Equals(Object^).) |
![]() | GetHashCode() | Overrides the Object::GetHashCode method.(Overrides Object::GetHashCode().) |
![]() | GetType() | |
![]() | 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 */
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
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.

