HttpWebRequest.CookieContainer Property
Gets or sets the cookies associated with the request.
[Visual Basic] Public Property CookieContainer As CookieContainer [C#] public CookieContainer CookieContainer {get; set;} [C++] public: __property CookieContainer* get_CookieContainer(); public: __property void set_CookieContainer(CookieContainer*); [JScript] public function get CookieContainer() : CookieContainer; public function set CookieContainer(CookieContainer);
Property Value
A CookieContainer containing the cookies associated with this request.
Remarks
The CookieContainer property provides an instance of the CookieContainer class that contains the cookies associated with this request.
CookieContainer is a null reference (Nothing in Visual Basic) by default. You must assign a CookieContainer instance to the property to have cookies returned in the Cookies property of the HttpWebResponse returned by GetResponse.
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
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
HttpWebRequest Class | HttpWebRequest Members | System.Net Namespace | CookieContainer