Cookie.Version Cookie.Version Cookie.Version Cookie.Version Property

Definition

Gets or sets the version of HTTP state maintenance to which the cookie conforms.

public:
 property int Version { int get(); void set(int value); };
public int Version { get; set; }
member this.Version : int with get, set
Public Property Version As Integer

Property Value

The version of HTTP state maintenance to which the cookie conforms.

Exceptions

Examples

The following example displays the properties of cookies returned in a response. For the complete example, see the Cookie class topic.

HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create( args[ 1 ] ));
request->CookieContainer = gcnew 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 = safe_cast<Cookie^>(myEnum->Current);
   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 ? (String^)"2109" : "2965" );
   
   // Show the string representation of the cookie.
   Console::WriteLine( "String: {0}", cook );
   
}
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());
}
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

Remarks

The default value for the Version property is 0, complying with the original Netscape specification. If the value is explicitly set to 1, then this Cookie must conform to RFC 2109. Note that if a Cookie was created automatically by receiving a Set-Cookie2 HTTP response header, the conformance is set to RFC 2965.

An attempt to set the Version property to a value less than zero will throw an exception.

Applies to

See also