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 sealed class Cookie

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

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: