Export (0) Print
Expand All

HttpWebRequest.CookieContainer Property

Gets or sets the cookies associated with the request.

Namespace:  System.Net
Assembly:  System (in System.dll)

'Declaration
Public Property CookieContainer As CookieContainer
'Usage
Dim instance As HttpWebRequest 
Dim value As CookieContainer 

value = instance.CookieContainer

instance.CookieContainer = value

Property Value

Type: System.Net.CookieContainer
A CookieContainer that contains the cookies associated with this request.

The CookieContainer property provides an instance of the CookieContainer class that contains the cookies associated with this request.

CookieContainer is Nothing by default. You must assign a CookieContainer object to the property to have cookies returned in the Cookies property of the HttpWebResponse returned by the GetResponse method.

NoteNote:

For security reasons, cookies are disabled by default. If you want to use cookies, use the CookieContainer property to enable cookies.

The following code example sends a request to a URL and displays the cookies returned in the response.

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)



        ' 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 
'
#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

Community Additions

ADD
Show:
© 2014 Microsoft