Cookie Class
Provides a set of properties and methods used to manage cookies. This class cannot be inherited.
For a list of all members of this type, see Cookie Members.
System.Object
System.Net.Cookie
[Visual Basic] <Serializable> NotInheritable Public Class Cookie [C#] [Serializable] public sealed class Cookie [C++] [Serializable] public __gc __sealed class Cookie [JScript] public Serializable class Cookie
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
The Cookie class is used by a client application to retrieve information about cookies received with HTTP responses. The following cookie formats are supported during parsing the HTTP resonse headers: Netscape, RFC 2109, and RFC 2965.
For a list of initial property values for an instance of Cookie, see the various Cookie constructors.
Example
[Visual Basic, C#] The following example sends a request to a URL and displays the cookies returned in the response.
[Visual Basic] Imports System.Net Imports System ' This example is run at the command line. ' Specify one argument: the name of the host to ' receive the request. ' If the request is sucessful, the example displays the contents of the cookies ' returned by the host. Public Class CookieExample Public Shared Sub Main(args() As String) If args Is Nothing OrElse args.Length <> 1 Then Console.WriteLine("Specify the URL to receive the request.") Environment.Exit(1) End If Dim request As HttpWebRequest = CType(WebRequest.Create(args(0)), HttpWebRequest) request.CookieContainer = New CookieContainer() Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) response.Cookies = request.CookieContainer.GetCookies(request.RequestUri) ' Print the properties of each cookie. Dim cook As Cookie For Each 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}", IIf(cook.Version = 1, "2109", "2965")) ' Show the string representation of the cookie. Console.WriteLine("String: {0}", cook.ToString()) Next cook End Sub 'Main End Class 'CookieExample ' 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 ' [C#] 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(); response.Cookies = request.CookieContainer.GetCookies(request.RequestUri); // 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 */
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Net
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: System (in System.dll)
See Also
Cookie Members | System.Net Namespace | CookieCollection | CookieContainer | CookieException