HttpClientHandler HttpClientHandler HttpClientHandler HttpClientHandler Class

Definicja

Domyślna procedura obsługi komunikatów używana przez HttpClient program w .NET Framework i .NET Core 2,0 i starszych.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
Dziedziczenie
HttpClientHandlerHttpClientHandlerHttpClientHandlerHttpClientHandler
Pochodne

Przykłady

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);
}

Poprzedni przykład kodu używa async Task Main() punktu wejścia.The preceding code example uses an async Task Main() entry point. Ta funkcja wymaga C# 7,1 lub nowszej.That feature requires C# 7.1 or later.

Uwagi

HttpClientHandler Klasy i klasy pochodne od IT umożliwiają deweloperom skonfigurowanie różnych opcji w zakresie od serwerów proxy do uwierzytelnienia.The HttpClientHandler class and classes derived from it enable developers to configure a variety of options ranging from proxies to authentication.

HttpClientHandler na platformie .NET CoreHttpClientHandler in .NET Core

Począwszy od platformy .NET Core 2,1, System.Net.Http.SocketsHttpHandler Klasa HttpClientHandler zamiast zapewnia implementację używaną przez interfejsy API sieci protokołu HTTP wyższego poziomu.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. Aplikację można skonfigurować w taki sposób, HttpClientHandler aby korzystała z jednej z następujących metod:You can configure your application to use HttpClientHandler instead in any of the following ways:

  • Przez wywołanie AppContext.SetSwitch metody w następujący sposób:By calling the AppContext.SetSwitch method as follows:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • Definiując System.Net.Http.UseSocketsHttpHandler przełącznik w pliku konfiguracji . servicecore. runtimeconfig. JSON :By defining the System.Net.Http.UseSocketsHttpHandler switch in the .netcore.runtimeconfig.json configuration file:

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • Przez zdefiniowanie zmiennej środowiskowej DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER o nazwie i ustawienie jej false na wartość lub 0.By defining an environment variable named DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER and setting it to either false or 0.

Konstruktory

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

Tworzy wystąpienie HttpClientHandler klasy.Creates an instance of a HttpClientHandler class.

Właściwości

AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect

Pobiera lub ustawia wartość wskazującą, czy program obsługi powinien postępować zgodnie z odpowiedziami przekierowania.Gets or sets a value that indicates whether the handler should follow redirection responses.

AutomaticDecompression AutomaticDecompression AutomaticDecompression AutomaticDecompression

Pobiera lub ustawia typ metody dekompresji używanej przez program obsługi dla automatycznej dekompresji odpowiedzi zawartości HTTP.Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response.

CheckCertificateRevocationList CheckCertificateRevocationList CheckCertificateRevocationList CheckCertificateRevocationList

Pobiera lub ustawia wartość wskazującą, czy certyfikat jest sprawdzany na liście odwołania urzędu certyfikacji.Gets or sets a value that indicates whether the certificate is checked against the certificate authority revocation list.

ClientCertificateOptions ClientCertificateOptions ClientCertificateOptions ClientCertificateOptions

Pobiera lub ustawia wartość wskazującą, czy certyfikat jest automatycznie pobierany z magazynu certyfikatów lub czy obiekt wywołujący może zostać przekazany do określonego certyfikatu klienta.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

Pobiera kolekcję certyfikatów zabezpieczeń, które są skojarzone z żądaniami do serwera.Gets the collection of security certificates that are associated requests to the server.

CookieContainer CookieContainer CookieContainer CookieContainer

Pobiera lub ustawia kontener plików cookie używany do przechowywania plików cookie serwera przez program obsługi.Gets or sets the cookie container used to store server cookies by the handler.

Credentials Credentials Credentials Credentials

Pobiera lub ustawia informacje uwierzytelniania używane przez tę procedurę obsługi.Gets or sets authentication information used by this handler.

DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator

Pobiera buforowany obiekt delegowany, który truezawsze zwraca wartość.Gets a cached delegate that always returns true.

DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials

Gdy używany jest domyślny (systemowy) serwer proxy, Pobiera lub ustawia poświadczenia do przesłania do domyślnego serwera proxy na potrzeby uwierzytelniania.When the default (system) proxy is being used, gets or sets the credentials to submit to the default proxy server for authentication. Domyślny serwer proxy jest używany tylko wtedy UseProxy , gdy jest true ustawiony Proxy na i ma nullustawioną wartość.The default proxy is used only when UseProxy is set to true and Proxy is set to null.

MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections

Pobiera lub ustawia maksymalną liczbę przekierowań, która jest następująca dla programu obsługi.Gets or sets the maximum number of redirects that the handler follows.

MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer

Pobiera lub ustawia maksymalną liczbę równoczesnych połączeń (na punkt końcowy serwera) dozwoloną podczas wykonywania żądań przy użyciu HttpClient obiektu.Gets or sets the maximum number of concurrent connections (per server endpoint) allowed when making requests using an HttpClient object. Należy zauważyć, że limit dotyczy każdego punktu końcowego serwera, więc na przykład wartość 256 256 zezwoli współbieżnych połączeń z http://www.adatum.com/ i do innych http://www.adventure-works.com/256.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

Pobiera lub ustawia maksymalny rozmiar buforu zawartości żądania używany przez program obsługi.Gets or sets the maximum request content buffer size used by the handler.

MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength

Pobiera lub ustawia maksymalną długość w kilobajtach (1024 bajtów) nagłówków odpowiedzi.Gets or sets the maximum length, in kilobytes (1024 bytes), of the response headers. Na przykład jeśli wartość to 64, Maksymalna długość nagłówków odpowiedzi wynosi 65536.For example, if the value is 64, then 65536 bytes are allowed for the maximum response headers' length.

PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate

Pobiera lub ustawia wartość wskazującą, czy program obsługi wysyła nagłówek autoryzacji z żądaniem.Gets or sets a value that indicates whether the handler sends an Authorization header with the request.

Properties Properties Properties Properties

Pobiera zapisywalny słownik (czyli mapę) właściwości niestandardowych dla HttpClient żądań.Gets a writable dictionary (that is, a map) of custom properties for the HttpClient requests. Słownik jest zainicjowany jako pusty; można wstawiać pary klucz-wartość dla programów obsługi niestandardowych i przetwarzania specjalnego.The dictionary is initialized empty; you can insert and query key-value pairs for your custom handlers and special processing.

Proxy Proxy Proxy Proxy

Pobiera lub ustawia informacje o serwerze proxy używane przez program obsługi.Gets or sets proxy information used by the handler.

ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback

Pobiera lub ustawia metodę wywołania zwrotnego w celu zweryfikowania certyfikatu serwera.Gets or sets a callback method to validate the server certificate.

SslProtocols SslProtocols SslProtocols SslProtocols

Pobiera lub ustawia protokół TLS/SSL używany przez HttpClient obiekty zarządzane przez obiekt HttpClientHandler.Gets or sets the TLS/SSL protocol used by the HttpClient objects managed by the HttpClientHandler object.

SupportsAutomaticDecompression SupportsAutomaticDecompression SupportsAutomaticDecompression SupportsAutomaticDecompression

Pobiera wartość wskazującą, czy program obsługi obsługuje automatyczną kompresję zawartości odpowiedzi.Gets a value that indicates whether the handler supports automatic response content decompression.

SupportsProxy SupportsProxy SupportsProxy SupportsProxy

Pobiera wartość wskazującą, czy program obsługi obsługuje ustawienia proxy.Gets a value that indicates whether the handler supports proxy settings.

SupportsRedirectConfiguration SupportsRedirectConfiguration SupportsRedirectConfiguration SupportsRedirectConfiguration

Pobiera wartość wskazującą, czy program obsługi obsługuje ustawienia AllowAutoRedirect konfiguracji właściwości i. MaxAutomaticRedirectionsGets a value that indicates whether the handler supports configuration settings for the AllowAutoRedirect and MaxAutomaticRedirections properties.

UseCookies UseCookies UseCookies UseCookies

Pobiera lub ustawia wartość wskazującą, czy program obsługi używa CookieContainer właściwości do przechowywania plików cookie serwera i używa tych plików cookie podczas wysyłania żądań.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

Pobiera lub ustawia wartość określającą, czy domyślne poświadczenia są wysyłane z żądaniami przez program obsługi.Gets or sets a value that controls whether default credentials are sent with requests by the handler.

UseProxy UseProxy UseProxy UseProxy

Pobiera lub ustawia wartość wskazującą, czy program obsługi używa serwera proxy dla żądań.Gets or sets a value that indicates whether the handler uses a proxy for requests.

Metody

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

Zwalnia zasoby niezarządzane i usuwa zasoby zarządzane używane przez HttpMessageHandlerprogram.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)

Zwalnia niezarządzane zasoby używane przez HttpClientHandler i opcjonalnie usuwa zarządzane zasoby.Releases the unmanaged resources used by the HttpClientHandler and optionally disposes of the managed resources.

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

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

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

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

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

Type Pobiera bieżące wystąpienie.Gets the Type of the current instance.

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

Tworzy skróconą kopię bieżącego Objectelementu.Creates a shallow copy of the current Object.

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

Tworzy wystąpienie HttpResponseMessage na podstawie informacji podanych HttpRequestMessage w jako operacja, która nie zostanie zablokowana.Creates an instance of HttpResponseMessage based on the information provided in the HttpRequestMessage as an operation that will not block.

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

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Inherited from Object)

Dotyczy

Zobacz też