HttpWebRequest.Credentials-Eigenschaft
Ruft Authentifizierungsinformationen für die Anforderung ab oder legt diese fest.
Namespace: System.Net
Assembly: System (in system.dll)
Syntax
'Declaration
Public Overrides Property Credentials As ICredentials
'Usage
Dim instance As HttpWebRequest
Dim value As ICredentials
value = instance.Credentials
instance.Credentials = value
public override ICredentials Credentials { get; set; }
public:
virtual property ICredentials^ Credentials {
ICredentials^ get () override;
void set (ICredentials^ value) override;
}
/** @property */
public ICredentials get_Credentials ()
/** @property */
public void set_Credentials (ICredentials value)
public override function get Credentials () : ICredentials
public override function set Credentials (value : ICredentials)
Eigenschaftenwert
Ein ICredentials mit den der Anforderung zugeordneten Anmeldeinformationen für die Authentifizierung. Der Standardwert ist NULL (Nothing in Visual Basic).
Hinweise
Die Credentials-Eigenschaft enthält Authentifizierungsinformationen, die den Ersteller der Anforderung bezeichnen. Die Credentials-Eigenschaft kann ein NetworkCredential sein, wobei die im NetworkCredential-Objekt enthaltenen Benutzer-, Kennwort- und Domäneninformationen für die Authentifizierung der Anforderung verwendet werden. Die Eigenschaft kann auch ein CredentialCache sein. In diesem Fall wird der URI (Uniform Resource Identifier) der Anforderung zum Bestimmen der Benutzer-, Kennwort- und Domäneninformationen für die Authentifizierung der Anforderung verwendet.
In den meisten Clientszenarien sollten Sie die DefaultCredentials-Eigenschaft verwenden, die die Anmeldeinformationen des gegenwärtig angemeldeten Benutzers enthält. Hierzu legen Sie die UseDefaultCredentials-Eigenschaft auf true fest, statt diese Eigenschaft festzulegen.
Wenn die HttpWebRequest-Klasse in einer Anwendung mittlerer Ebene, z. B. einer ASP.NET-Anwendung, verwendet wird, gehören die Anmeldeinformationen in der DefaultCredentials-Eigenschaft zu dem Konto, das die ASP-Seite ausführt (die serverseitigen Anmeldeinformationen). Normalerweise legen Sie diese Eigenschaft auf die Anmeldeinformationen des Clients fest, für den die Anforderung erfolgt.
Hinweis
Das NTLM-Authentifizierungsschema kann nicht verwendet werden, um die Identität eines anderen Benutzers anzunehmen. Kerberos muss für eine Unterstützung des Identitätswechsels speziell konfiguriert werden.
Um HttpWebRequest auf eine oder mehrere Authentifizierungsmethoden zu beschränken, verwenden Sie die CredentialCache-Klasse, und binden Sie die Anmeldeinformationen an ein oder mehrere Authentifizierungsschemas.
Unterstützte Authentifizierungsschemas sind u. a. Digest, Negotiate, Kerberos, NTLM und Standard.
Beispiel
Im folgenden Codebeispiel werden die Anmeldeinformationen für eine Anforderung festgelegt.
Imports System
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Test
' Specify the URL to receive the request.
Public Shared Sub Main(ByVal args() As String)
Dim request As HttpWebRequest = CType(WebRequest.Create(args(0)), HttpWebRequest)
' Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4
request.MaximumResponseHeadersLength = 4
' Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Console.WriteLine("Content length is {0}", response.ContentLength)
Console.WriteLine("Content type is {0}", response.ContentType)
' Get the stream associated with the response.
Dim receiveStream As Stream = response.GetResponseStream()
' Pipes the stream to a higher level stream reader with the required encoding format.
Dim readStream As New StreamReader(receiveStream, Encoding.UTF8)
Console.WriteLine("Response stream received.")
Console.WriteLine(readStream.ReadToEnd())
response.Close()
readStream.Close()
End Sub 'Main
End Class 'Test
'
'The output from this example will vary depending on the value passed into Main
'but will be similar to the following:
'
'Content length is 1542
'Content type is text/html; charset=utf-8
'Response stream received.
'<html>
'...
'</html>
'
'
using System;
using System.Net;
using System.Text;
using System.IO;
public class Test
{
// Specify the URL to receive the request.
public static void Main (string[] args)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create (args[0]);
// Set some reasonable limits on resources used by this request
request.MaximumAutomaticRedirections = 4;
request.MaximumResponseHeadersLength = 4;
// Set credentials to use for this request.
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
Console.WriteLine ("Content length is {0}", response.ContentLength);
Console.WriteLine ("Content type is {0}", response.ContentType);
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream ();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
Console.WriteLine ("Response stream received.");
Console.WriteLine (readStream.ReadToEnd ());
response.Close ();
readStream.Close ();
}
}
/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:
Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>
*/
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::Text;
using namespace System::IO;
// Specify the URL to receive the request.
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
HttpWebRequest^ request = dynamic_cast<HttpWebRequest^>(WebRequest::Create( args[ 1 ] ));
// Set some reasonable limits on resources used by this request
request->MaximumAutomaticRedirections = 4;
request->MaximumResponseHeadersLength = 4;
// Set credentials to use for this request.
request->Credentials = CredentialCache::DefaultCredentials;
HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
Console::WriteLine( "Content length is {0}", response->ContentLength );
Console::WriteLine( "Content type is {0}", response->ContentType );
// Get the stream associated with the response.
Stream^ receiveStream = response->GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader^ readStream = gcnew StreamReader( receiveStream,Encoding::UTF8 );
Console::WriteLine( "Response stream received." );
Console::WriteLine( readStream->ReadToEnd() );
response->Close();
readStream->Close();
}
/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:
Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>
*/
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
HttpWebRequest-Klasse
HttpWebRequest-Member
System.Net-Namespace