WebClient.Credentials Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece las credenciales de red que se envían al host y se usan para autenticar la solicitud.
public:
property System::Net::ICredentials ^ Credentials { System::Net::ICredentials ^ get(); void set(System::Net::ICredentials ^ value); };
public System.Net.ICredentials? Credentials { get; set; }
public System.Net.ICredentials Credentials { get; set; }
member this.Credentials : System.Net.ICredentials with get, set
Public Property Credentials As ICredentials
Valor de propiedad
Un ICredentials que contiene las credenciales de autenticación de la solicitud. El valor predeterminado es null
.
Ejemplos
En el ejemplo de código siguiente se usan las credenciales del sistema del usuario para autenticar una solicitud.
int main()
{
try
{
WebClient^ client = gcnew WebClient;
client->Credentials = CredentialCache::DefaultCredentials;
array<Byte>^pageData = client->DownloadData( "http://www.contoso.com" );
String^ pageHtml = Encoding::ASCII->GetString( pageData );
Console::WriteLine( pageHtml );
}
catch ( WebException^ webEx )
{
Console::Write( webEx );
}
}
public static void Main()
{
try {
WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultCredentials;
Byte[] pageData = client.DownloadData("http://www.contoso.com");
string pageHtml = Encoding.ASCII.GetString(pageData);
Console.WriteLine(pageHtml);
} catch (WebException webEx) {
Console.Write(webEx.ToString());
}
}
Public Shared Sub Main()
Try
Dim client As New WebClient()
client.Credentials = CredentialCache.DefaultCredentials
Dim pageData As [Byte]() = client.DownloadData("http://www.contoso.com")
Dim pageHtml As String = Encoding.ASCII.GetString(pageData)
Console.WriteLine(pageHtml)
Catch webEx As WebException
Console.Write(webEx.ToString())
End Try
End Sub
Comentarios
Cautela
WebRequest
, HttpWebRequest
, ServicePoint
y WebClient
están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.
La propiedad Credentials contiene las credenciales de autenticación usadas para acceder a un recurso en un host. En la mayoría de los escenarios del lado cliente, debe usar el DefaultCredentials, que son las credenciales del usuario que ha iniciado sesión actualmente. Para ello, establezca la propiedad UseDefaultCredentials en true
en lugar de establecer esta propiedad.
Si la clase WebClient se usa en una aplicación de nivel intermedio, como una aplicación de ASP.NET, el DefaultCredentials pertenece a la cuenta que ejecuta la página ASP (las credenciales del lado servidor). Normalmente, establecería esta propiedad en las credenciales del cliente en cuyo nombre se realiza la solicitud.
Por motivos de seguridad, cuando sigue automáticamente las redirecciones, almacene las credenciales que desea incluir en el redireccionamiento en un CredentialCache y asígnela a esta propiedad. Esta propiedad se establecerá automáticamente en null
tras el redireccionamiento si contiene algo excepto un CredentialCache. Tener este valor de propiedad se establece automáticamente en null
en esas condiciones impide que las credenciales se envíen a cualquier destino no deseado.