HttpClientHandler Class
The default message handler used by HttpClient.
Assembly: System.Net.Http (in System.Net.Http.dll)
System.Net.Http::HttpMessageHandler
System.Net.Http::HttpClientHandler
System.Net.Http::WebRequestHandler
| Name | Description | |
|---|---|---|
![]() | HttpClientHandler() | Creates an instance of a HttpClientHandler class. |
| Name | Description | |
|---|---|---|
![]() | AllowAutoRedirect | Gets or sets a value that indicates whether the handler should follow redirection responses. |
![]() | AutomaticDecompression | Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response. |
![]() | ClientCertificateOptions | 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. |
![]() | CookieContainer | Gets or sets the cookie container used to store server cookies by the handler. |
![]() | Credentials | Gets or sets authentication information used by this handler. |
![]() | MaxAutomaticRedirections | Gets or sets the maximum number of redirects that the handler follows. |
![]() | MaxRequestContentBufferSize | Gets or sets the maximum request content buffer size used by the handler. |
![]() | PreAuthenticate | Gets or sets a value that indicates whether the handler sends an Authorization header with the request. |
![]() | Proxy | Gets or sets proxy information used by the handler. |
![]() | SupportsAutomaticDecompression | Gets a value that indicates whether the handler supports automatic response content decompression. |
![]() | SupportsProxy | Gets a value that indicates whether the handler supports proxy settings. |
![]() | SupportsRedirectConfiguration | Gets a value that indicates whether the handler supports configuration settings for the AllowAutoRedirect and MaxAutomaticRedirections properties. |
![]() | UseCookies | 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 | Gets or sets a value that controls whether default credentials are sent with requests by the handler. |
![]() | UseProxy | Gets or sets a value that indicates whether the handler uses a proxy for requests. |
| Name | Description | |
|---|---|---|
![]() | Dispose() | Releases the unmanaged resources and disposes of the managed resources used by the HttpMessageHandler.(Inherited from HttpMessageHandler.) |
![]() | Dispose(Boolean) | Releases the unmanaged resources used by the HttpClientHandler and optionally disposes of the managed resources.(Overrides HttpMessageHandler::Dispose(Boolean).) |
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | SendAsync(HttpRequestMessage^, CancellationToken) | Creates an instance of HttpResponseMessage based on the information provided in the HttpRequestMessage as an operation that will not block.(Overrides HttpMessageHandler::SendAsync(HttpRequestMessage^, CancellationToken).) |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The HttpClientHandler class and classes derived from it enable developers to configure a variety of options ranging from proxies to authentication.
static async void 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); }
Available since 8
.NET Framework
Available since 4.5
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


