Cookie Class

 

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)

System::Object
  System.Net::Cookie

[SerializableAttribute]
public ref class Cookie sealed 

NameDescription
System_CAPS_pubmethodCookie()

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.

NameDescription
System_CAPS_pubpropertyComment

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

System_CAPS_pubpropertyCommentUri

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

System_CAPS_pubpropertyDiscard

Gets or sets the discard flag set by the server.

System_CAPS_pubpropertyDomain

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

System_CAPS_pubpropertyExpired

Gets or sets the current state of the Cookie.

System_CAPS_pubpropertyExpires

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

System_CAPS_pubpropertyHttpOnly

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

System_CAPS_pubpropertyName

Gets or sets the name for the Cookie.

System_CAPS_pubpropertyPath

Gets or sets the URIs to which the Cookie applies.

System_CAPS_pubpropertyPort

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

System_CAPS_pubpropertySecure

Gets or sets the security level of a Cookie.

System_CAPS_pubpropertyTimeStamp

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

System_CAPS_pubpropertyValue

Gets or sets the Value for the Cookie.

System_CAPS_pubpropertyVersion

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

NameDescription
System_CAPS_pubmethodEquals(Object^)

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

System_CAPS_pubmethodGetHashCode()

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

System_CAPS_pubmethodGetType()

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

System_CAPS_pubmethodToString()

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
*/

Universal Windows Platform
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.

Return to top
Show: