HttpWebRequest.CookieContainer Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define os cookies associados à solicitação.
public:
virtual property System::Net::CookieContainer ^ CookieContainer { System::Net::CookieContainer ^ get(); void set(System::Net::CookieContainer ^ value); };
public:
property System::Net::CookieContainer ^ CookieContainer { System::Net::CookieContainer ^ get(); void set(System::Net::CookieContainer ^ value); };
public virtual System.Net.CookieContainer CookieContainer { get; set; }
public virtual System.Net.CookieContainer? CookieContainer { get; set; }
public System.Net.CookieContainer CookieContainer { get; set; }
member this.CookieContainer : System.Net.CookieContainer with get, set
Public Overridable Property CookieContainer As CookieContainer
Public Property CookieContainer As CookieContainer
Valor da propriedade
Um CookieContainer que contém os cookies associados a essa solicitação.
Exemplos
O exemplo de código a seguir envia uma solicitação para uma URL e exibe os cookies retornados na resposta.
#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
'
Comentários
Cuidado
WebRequest
, HttpWebRequest
, ServicePoint
e WebClient
estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.
A propriedade CookieContainer fornece uma instância da classe CookieContainer que contém os cookies associados a essa solicitação.
CookieContainer é null
por padrão. Você deve atribuir um objeto CookieContainer à propriedade para que os cookies sejam retornados na propriedade Cookies do HttpWebResponse retornado pelo método GetResponse.
Nota
Por motivos de segurança, os cookies são desabilitados por padrão. Se você quiser usar cookies, use a propriedade CookieContainer para habilitar cookies.