Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

HttpWebResponse.Cookies Property

Gets or sets the cookies that are associated with this response.

Namespace:  System.Net
Assembly:  System (in System.dll)
public CookieCollection Cookies { get; set; }

Property Value

Type: System.Net.CookieCollection
A CookieCollection that contains the cookies that are associated with this response.
ExceptionCondition
ObjectDisposedException

The current instance has been disposed.

The Cookies property provides an instance of the CookieCollection class that holds the cookies associated with this response.

If the CookieContainer property of the associated HttpWebRequest is null, the Cookies property will also be null. Any cookie information sent by the server will be available in the Headers property, however.

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
*/
#using <mscorlib.dll>
#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()
{
    String* args[] = Environment::GetCommandLineArgs();

    if (args == 0 || args->Length != 2)
    {
        Console::WriteLine(S"Specify the URL to receive the request.");
        Environment::Exit(1);
    }
    HttpWebRequest* request = dynamic_cast<HttpWebRequest*>(WebRequest::Create(args[1]));
    request->CookieContainer = new 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 = __try_cast<Cookie*>(myEnum->Current);
        Console::WriteLine(S"Cookie:");
        Console::WriteLine(S"{0} = {1}", cook->Name, cook->Value);
        Console::WriteLine(S"Domain: {0}", cook->Domain);
        Console::WriteLine(S"Path: {0}", cook->Path);
        Console::WriteLine(S"Port: {0}", cook->Port);
        Console::WriteLine(S"Secure: {0}", __box(cook->Secure));

        Console::WriteLine(S"When issued: {0}", __box(cook->TimeStamp));
        Console::WriteLine(S"Expires: {0} (expired? {1})", __box(cook->Expires), __box(cook->Expired));
        Console::WriteLine(S"Don't save: {0}", __box(cook->Discard));    
        Console::WriteLine(S"Comment: {0}", cook->Comment);
        Console::WriteLine(S"Uri for comments: {0}", cook->CommentUri);
        Console::WriteLine(S"Version: RFC {0}" , cook->Version == 1 ? S"2109" : S"2965");

        // Show the string representation of the cookie.
        Console::WriteLine (S"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
*/

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.