WebClient.Credentials 属性

定义

获取或设置发送到主机并用于对请求进行身份验证的网络凭据。

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

属性值

包含请求的身份验证凭据的 ICredentials。 默认值为 null

示例

下面的代码示例使用用户的系统凭据对请求进行身份验证。

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 

注解

谨慎

WebRequestHttpWebRequestServicePointWebClient 已过时,不应将其用于新开发。 请改用 HttpClient

Credentials 属性包含用于访问主机上资源的身份验证凭据。 在大多数客户端方案中,应使用 DefaultCredentials,即当前登录用户的凭据。 为此,请将 UseDefaultCredentials 属性设置为 true,而不是设置此属性。

如果在中间层应用程序中(例如 ASP.NET 应用程序)中使用 WebClient 类,DefaultCredentials 属于运行 ASP 页的帐户(服务器端凭据)。 通常,将此属性设置为代表发出请求的客户端的凭据。

出于安全原因,在自动关注重定向时,请将要包含在重定向中的凭据存储在 CredentialCache 中,并将其分配给此属性。 如果此属性包含除 CredentialCache以外的任何内容,则此属性将自动设置为在重定向时 null。 在这些情况下,将此属性值自动设置为 null 可防止将凭据发送到任何意外的目标。

适用于

另请参阅