HttpClientHandler HttpClientHandler HttpClientHandler HttpClientHandler Class

Definition

Den Standardnachrichtenhandler, der von HttpClient in .NET Framework und .NET Core 2.0 und früheren Versionen verwendet wird.The default message handler used by HttpClient in .NET Framework and .NET Core 2.0 and earlier.

public ref class HttpClientHandler : System::Net::Http::HttpMessageHandler
public class HttpClientHandler : System.Net.Http.HttpMessageHandler
type HttpClientHandler = class
    inherit HttpMessageHandler
Public Class HttpClientHandler
Inherits HttpMessageHandler
Vererbung
HttpClientHandlerHttpClientHandlerHttpClientHandlerHttpClientHandler
Abgeleitet

Beispiele

static async Task Main()
{
   // Create an HttpClientHandler object and set to use default credentials
   HttpClientHandler handler = new HttpClientHandler();
   handler.UseDefaultCredentials = true;

   // Create an HttpClient object
   HttpClient client = new HttpClient(handler);

   // Call asynchronous network methods in a try/catch block to handle exceptions
   try	
   {
      HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");

      response.EnsureSuccessStatusCode();

      string responseBody = await response.Content.ReadAsStringAsync();
      Console.WriteLine(responseBody);
   }  
   catch(HttpRequestException e)
   {
       Console.WriteLine("\nException Caught!");	
       Console.WriteLine("Message :{0} ",e.Message);
   }

   // Need to call dispose on the HttpClient and HttpClientHandler objects 
   // when done using them, so the app doesn't leak resources
   handler.Dispose(true);
   client.Dispose(true);
}

Im vorherigen Codebeispiel verwendet eine async Task Main() Einstiegspunkt.The preceding code example uses an async Task Main() entry point. Dieses Feature erfordert c# 7.1 oder höher.That feature requires C# 7.1 or later.

Hinweise

Die HttpClientHandler -Klasse und davon abgeleitete Klassen können Entwickler eine Vielzahl von Optionen, die von Proxys bis hin zu Authentifizierung konfigurieren.The HttpClientHandler class and classes derived from it enable developers to configure a variety of options ranging from proxies to authentication.

HttpClientHandler in .NET CoreHttpClientHandler in .NET Core

Beginnend mit .NET Core 2.1, die System.Net.Http.SocketsHttpHandler -Klasse anstelle von HttpClientHandler stellt die Implementierung von Netzwerk-APIs auf höherer Ebene-HTTP-verwendet.Starting with .NET Core 2.1, the System.Net.Http.SocketsHttpHandler class instead of HttpClientHandler provides the implementation used by higher-level HTTP networking APIs. Sie können konfigurieren, dass Ihre Anwendung zur Verwendung HttpClientHandler stattdessen in einem der folgenden Methoden:You can configure your application to use HttpClientHandler instead in any of the following ways:

  • Durch Aufrufen der AppContext.SetSwitch -Methode wie folgt:By calling the AppContext.SetSwitch method as follows:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • Durch die Definition der System.Net.Http.UseSocketsHttpHandler wechseln Sie der . netcore.runtimeconfig.json Konfigurationsdatei:By defining the System.Net.Http.UseSocketsHttpHandler switch in the .netcore.runtimeconfig.json configuration file:

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • Definieren Sie eine Umgebungsvariable namens DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER auf entweder festlegen false oder 0.By defining an environment variable named DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER and setting it to either false or 0.

Konstruktoren

HttpClientHandler() HttpClientHandler() HttpClientHandler() HttpClientHandler()

Erstellt eine Instanz einer HttpClientHandler-Klasse.Creates an instance of a HttpClientHandler class.

Eigenschaften

AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect

Ruft einen Wert ab, der angibt, ob der Handler Umleitungsantworten folgen soll, oder legt diesen Wert fest.Gets or sets a value that indicates whether the handler should follow redirection responses.

AutomaticDecompression AutomaticDecompression AutomaticDecompression AutomaticDecompression

Ruft den Typ der Dekomprimierungsmethode ab, die vom Handler für die automatische Dekomprimierung von Antworten mit HTTP-Inhalt verwendet wird, oder legt den Typ fest.Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response.

CheckCertificateRevocationList CheckCertificateRevocationList CheckCertificateRevocationList CheckCertificateRevocationList

Ruft einen Wert ab, der angibt, ob das Zertifikat anhand der Sperrliste der Zertifizierungsstelle überprüft wird, oder legt diesen fest.Gets or sets a value that indicates whether the certificate is checked against the certificate authority revocation list.

ClientCertificateOptions ClientCertificateOptions ClientCertificateOptions ClientCertificateOptions

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Zertifikat automatisch aus dem Zertifikatspeicher ausgewählt wird oder ob der Aufrufer ein bestimmtes Clientzertifikat übergeben darf.Gets or sets a value that indicates if the certificate is automatically picked from the certificate store or if the caller is allowed to pass in a specific client certificate.

ClientCertificates ClientCertificates ClientCertificates ClientCertificates

Ruft die dieser Anforderungen an den Server zugeordnete Auflistung von Sicherheitszertifikaten ab.Gets the collection of security certificates that are associated requests to the server.

CookieContainer CookieContainer CookieContainer CookieContainer

Ruft den zum Speichern von Servercookies vom Handler verwendeten Cookiecontainer ab oder legt diesen fest.Gets or sets the cookie container used to store server cookies by the handler.

Credentials Credentials Credentials Credentials

Ruft von diesem Handler verwendete Authentifizierungsinformationen ab oder legt diese fest.Gets or sets authentication information used by this handler.

DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator

Ruft einen zwischengespeicherten Delegaten ab, der immer true zurückgibt.Gets a cached delegate that always returns true.

DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials

Wenn der Standardproxy (Systemproxy) verwendet wird, werden die Anmeldeinformationen abgerufen oder festgelegt, die an den Standardproxyserver für die Authentifizierung übermittelt werden.When the default (system) proxy is being used, gets or sets the credentials to submit to the default proxy server for authentication. Der Standardproxy wird nur verwendet, wenn UseProxy auf true und Proxy auf null festgelegt ist.The default proxy is used only when UseProxy is set to true and Proxy is set to null.

MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections

Ruft die maximale Anzahl von Umleitungen ab, denen der Handler folgt, oder legt diese fest.Gets or sets the maximum number of redirects that the handler follows.

MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer

Ruft die maximal zulässige Anzahl gleichzeitiger Verbindungen (pro Serverendpunkt), wenn eine Anforderung mithilfe eines HttpClient-Objekts durchgeführt wird, oder legt diese fest.Gets or sets the maximum number of concurrent connections (per server endpoint) allowed when making requests using an HttpClient object. Beachten Sie, dass der Grenzwert pro Serverendpunkt gilt. Ein Wert von 256 würde beispielsweise 256 gleichzeitige Verbindungen zu „http://www.adatum.com/“ und weitere 256 zu „http://www.adventure-works.com/“ ermöglichen.Note that the limit is per server endpoint, so for example a value of 256 would permit 256 concurrent connections to http://www.adatum.com/ and another 256 to http://www.adventure-works.com/.

MaxRequestContentBufferSize MaxRequestContentBufferSize MaxRequestContentBufferSize MaxRequestContentBufferSize

Dient zum Abrufen oder Festlegen der maximalen Größe des Anforderungsinhaltspuffers, die vom Handler verwendet wird.Gets or sets the maximum request content buffer size used by the handler.

MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength

Ruft die maximale Länge des Antwortheaders in Kilobyte (1024 Byte) ab oder legt diese fest.Gets or sets the maximum length, in kilobytes (1024 bytes), of the response headers. Wenn der Wert beispielsweise 64 ist, sind 65536 Byte für die maximale Länge des Antwortheaders zulässig.For example, if the value is 64, then 65536 bytes are allowed for the maximum response headers' length.

PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate

Ruft einen Wert ab, der angibt, ob vom Handler mit der Anforderung ein Autorisierungsheader gesendet wird, oder legt diesen fest.Gets or sets a value that indicates whether the handler sends an Authorization header with the request.

Properties Properties Properties Properties

Ruft ein beschreibares Wörterbuch (d.h. eine Zuordnung) von benutzerdefinierten Eigenschaften für die HttpClient-Anforderungen ab.Gets a writable dictionary (that is, a map) of custom properties for the HttpClient requests. Das Wörterbuch ist zunächst leer. Sie können Schlüssel-Wert-Paare für benutzerdefinierte Handler und die spezielle Verarbeitung einfügen und abfragen.The dictionary is initialized empty; you can insert and query key-value pairs for your custom handlers and special processing.

Proxy Proxy Proxy Proxy

Ruft vom Handler verwendete Proxyinformationen ab oder legt diese fest.Gets or sets proxy information used by the handler.

ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback

Ruft eine Rückrufmethode zur Überprüfung des Serverzertifikats ab oder legt diese fest.Gets or sets a callback method to validate the server certificate.

SslProtocols SslProtocols SslProtocols SslProtocols

Ruft das TSL-/SSL-Protokoll ab, das von den HttpClient-Objekten verwendet wird, die vom HttpClientHandler-Objekt verwaltet werden, oder legt dieses fest.Gets or sets the TLS/SSL protocol used by the HttpClient objects managed by the HttpClientHandler object.

SupportsAutomaticDecompression SupportsAutomaticDecompression SupportsAutomaticDecompression SupportsAutomaticDecompression

Ruft einen Wert ab, der angibt, ob der Handler die automatische Dekomprimierung von Antwortinhalten unterstützt.Gets a value that indicates whether the handler supports automatic response content decompression.

SupportsProxy SupportsProxy SupportsProxy SupportsProxy

Ruft einen Wert ab, der angibt, ob der Handler Proxyeinstellungen unterstützt.Gets a value that indicates whether the handler supports proxy settings.

SupportsRedirectConfiguration SupportsRedirectConfiguration SupportsRedirectConfiguration SupportsRedirectConfiguration

Ruft einen Wert ab, der angibt, ob der Handler Konfigurationseinstellungen für die Eigenschaften AllowAutoRedirect und MaxAutomaticRedirections unterstützt.Gets a value that indicates whether the handler supports configuration settings for the AllowAutoRedirect and MaxAutomaticRedirections properties.

UseCookies UseCookies UseCookies UseCookies

Ruft einen Wert ab oder legt diesen fest, der angibt, ob der Handler die CookieContainer-Eigenschaft zum Speichern von Servercookies und diese Cookies zum Senden von Anforderungen verwendet.Gets or sets a value that indicates whether the handler uses the CookieContainer property to store server cookies and uses these cookies when sending requests.

UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials

Ruft einen Wert ab, der steuert, ob vom Handler mit den Anforderungen Standardanmeldeinformationen gesendet werden, oder legt diesen fest.Gets or sets a value that controls whether default credentials are sent with requests by the handler.

UseProxy UseProxy UseProxy UseProxy

Ruft einen Wert ab, der angibt, ob der Handler einen Proxy für Anforderungen verwendet, oder legt diesen Wert fest.Gets or sets a value that indicates whether the handler uses a proxy for requests.

Methoden

Dispose() Dispose() Dispose() Dispose()

Gibt die vom HttpMessageHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft die verwalteten Ressourcen.Releases the unmanaged resources and disposes of the managed resources used by the HttpMessageHandler.

(Inherited from HttpMessageHandler)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Gibt die vom HttpClientHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft optional auch die verwalteten Ressourcen.Releases the unmanaged resources used by the HttpClientHandler and optionally disposes of the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken)

Erstellt eine Instanz von HttpResponseMessage auf Basis der in HttpRequestMessage bereitgestellten Informationen als nicht blockierender Vorgang.Creates an instance of HttpResponseMessage based on the information provided in the HttpRequestMessage as an operation that will not block.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch