Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Cookie Class
Collapse the table of content
Expand the table of content

Cookie Class

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

Namespace:  System.Net
Assemblies:   System.Net.Primitives (in System.Net.Primitives.dll)
  System (in System.dll)

public sealed class Cookie

The Cookie type exposes the following members.

  NameDescription
Public methodSupported by Portable Class LibraryCookie()Initializes a new instance of the Cookie class.
Public methodSupported by Portable Class LibraryCookie(String, String)Initializes a new instance of the Cookie class with a specified Name and Value.
Public methodSupported by Portable Class LibraryCookie(String, String, String)Initializes a new instance of the Cookie class with a specified Name, Value, and Path.
Public methodSupported by Portable Class LibraryCookie(String, String, String, String)Initializes a new instance of the Cookie class with a specified Name, Value, Path, and Domain.
Top

  NameDescription
Public propertySupported by Portable Class LibraryCommentGets or sets a comment that the server can add to a Cookie.
Public propertySupported by Portable Class LibraryCommentUriGets or sets a URI comment that the server can provide with a Cookie.
Public propertySupported by Portable Class LibraryDiscardGets or sets the discard flag set by the server.
Public propertySupported by Portable Class LibraryDomainGets or sets the URI for which the Cookie is valid.
Public propertySupported by Portable Class LibraryExpiredGets or sets the current state of the Cookie.
Public propertySupported by Portable Class LibraryExpiresGets or sets the expiration date and time for the Cookie as a DateTime.
Public propertySupported by Portable Class LibraryHttpOnlyDetermines whether a page script or other active content can access this cookie.
Public propertySupported by Portable Class LibraryNameGets or sets the name for the Cookie.
Public propertySupported by Portable Class LibraryPathGets or sets the URIs to which the Cookie applies.
Public propertySupported by Portable Class LibraryPortGets or sets a list of TCP ports that the Cookie applies to.
Public propertySupported by Portable Class LibrarySecureGets or sets the security level of a Cookie.
Public propertySupported by Portable Class LibraryTimeStampGets the time when the cookie was issued as a DateTime.
Public propertySupported by Portable Class LibraryValueGets or sets the Value for the Cookie.
Public propertySupported by Portable Class LibraryVersionGets or sets the version of HTTP state maintenance to which the cookie conforms.
Top

  NameDescription
Public methodSupported by Portable Class LibraryEqualsOverrides the Object.Equals method. (Overrides Object.Equals(Object).)
Public methodSupported by Portable Class LibraryGetHashCodeOverrides the Object.GetHashCode method. (Overrides Object.GetHashCode().)
Public methodSupported by Portable Class LibraryGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Portable Class LibraryToStringOverrides the Object.ToString method. (Overrides Object.ToString().)
Top

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library

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