HttpWebResponse.Cookies 属性

定义

获取或设置与此响应关联的 Cookie。Gets or sets the cookies that are associated with this response.

public:
 virtual property System::Net::CookieCollection ^ Cookies { System::Net::CookieCollection ^ get(); };
public:
 virtual property System::Net::CookieCollection ^ Cookies { System::Net::CookieCollection ^ get(); void set(System::Net::CookieCollection ^ value); };
public:
 property System::Net::CookieCollection ^ Cookies { System::Net::CookieCollection ^ get(); void set(System::Net::CookieCollection ^ value); };
public virtual System.Net.CookieCollection Cookies { get; }
public virtual System.Net.CookieCollection Cookies { get; set; }
public System.Net.CookieCollection Cookies { get; set; }
member this.Cookies : System.Net.CookieCollection
member this.Cookies : System.Net.CookieCollection with get, set
Public Overridable ReadOnly Property Cookies As CookieCollection
Public Overridable Property Cookies As CookieCollection
Public Property Cookies As CookieCollection

属性值

CookieCollection

CookieCollection,包含与此响应关联的 Cookie。A CookieCollection that contains the cookies that are associated with this response.

例外

已释放当前实例。The current instance has been disposed.

示例

下面的示例将请求发送到 URL,并显示在响应中返回的 cookie。The following example sends a request to a URL and displays the cookies returned in the response.

#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()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args == nullptr || args->Length != 2 )
   {
      Console::WriteLine( "Specify the URL to receive the request." );
      Environment::Exit( 1 );
   }

   
   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 );
      
   }

}

// 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 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);
            }
            var request = (HttpWebRequest)WebRequest.Create(args[0]);
            request.CookieContainer = new CookieContainer();

            using (var response = (HttpWebResponse) request.GetResponse())
            {
                // Print the properties of each cookie.
                foreach (Cookie cook in response.Cookies)
                {
                    Console.WriteLine("Cookie:");
                    Console.WriteLine($"{cook.Name} = {cook.Value}");
                    Console.WriteLine($"Domain: {cook.Domain}");
                    Console.WriteLine($"Path: {cook.Path}");
                    Console.WriteLine($"Port: {cook.Port}");
                    Console.WriteLine($"Secure: {cook.Secure}");

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

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

Imports System.Net

' 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 = WebRequest.Create(args(0))
        request.CookieContainer = New CookieContainer()
    
        Using response As HttpWebResponse = request.GetResponse()
            ' Print the properties of each cookie.
            For Each cook As Cookie In response.Cookies
                Console.WriteLine("Cookie:")
                Console.WriteLine($"{cook.Name} = {cook.Value}")
                Console.WriteLine($"Domain: {cook.Domain}")
                Console.WriteLine($"Path: {cook.Path}")
                Console.WriteLine($"Port: {cook.Port}")
                Console.WriteLine($"Secure: {cook.Secure}")
    
                Console.WriteLine($"When issued: {cook.TimeStamp}")
                Console.WriteLine($"Expires: {cook.Expires} (expired? {cook.Expired})")
                Console.WriteLine($"Don't save: {cook.Discard}")
                Console.WriteLine($"Comment: {cook.Comment}")
                Console.WriteLine($"Uri for comments: {cook.CommentUri}")
                Console.WriteLine($"Version: RFC {If(cook.Version = 1, 2109, 2965)}")
    
                ' Show the string representation of the cookie.
                Console.WriteLine($"String: {cook}")
            Next
        End Using
    End Sub
End Class



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

注解

Cookies属性提供 CookieCollection 类的实例,该实例保存与此响应关联的 cookie。The Cookies property provides an instance of the CookieCollection class that holds the cookies associated with this response.

如果关联的的 CookieContainer 属性 HttpWebRequestnull ,则 Cookies 属性也将为 nullIf the CookieContainer property of the associated HttpWebRequest is null, the Cookies property will also be null. 但服务器发送的任何 cookie 信息都将出现在 Headers 属性中。Any cookie information sent by the server will be available in the Headers property, however.

适用于

另请参阅