更新:2007 年 11 月
获取或设置与此请求关联的 cookie。
命名空间: System.Net
程序集: System(在 System.dll 中)
语法
Visual Basic(声明)
Public Property CookieContainer As CookieContainer
Visual Basic (用法)
Dim instance As HttpWebRequest Dim value As CookieContainer value = instance.CookieContainer instance.CookieContainer = value
C#
public CookieContainer CookieContainer { get; set; }
Visual C++
public: property CookieContainer^ CookieContainer { CookieContainer^ get (); void set (CookieContainer^ value); }
J#
/** @property */ public CookieContainer get_CookieContainer() /** @property */ public void set_CookieContainer(CookieContainer value)
JScript
public function get CookieContainer () : CookieContainer public function set CookieContainer (value : CookieContainer)
备注
CookieContainer 属性提供 CookieContainer 类的一个实例,该实例包含与此请求关联的 cookie。
默认情况下,CookieContainer 为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。必须将 CookieContainer 对象分配给该属性以在由 GetResponse 方法返回的 HttpWebResponse 的 Cookies 属性中返回 Cookie。
说明: |
---|
为安全起见,默认情况下禁用 Cookie。如果您希望使用 Cookie,请使用 CookieContainer 属性启用 Cookie。 |
示例
下面的代码示例向 URL 发送请求并在响应中显示返回的 Cookie。
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) ' 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(); // 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 */
Visual C++
#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 */