Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
System.Net.Http
HttpClient Class
Collapse All/Expand All Collapse All
.NET Framework Class Library
HttpClient Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.

System..::.Object
  System.Net.Http..::.HttpMessageInvoker
    System.Net.Http..::.HttpClient

Namespace:  System.Net.Http
Assembly:  System.Net.Http (in System.Net.Http.dll)
Visual Basic
Public Class HttpClient _
	Inherits HttpMessageInvoker
C#
public class HttpClient : HttpMessageInvoker
Visual C++
public ref class HttpClient : public HttpMessageInvoker
F#
type HttpClient =  
    class
        inherit HttpMessageInvoker
    end

The HttpClient type exposes the following members.

  NameDescription
Public methodHttpClient()()()Initializes a new instance of the HttpClient class.
Public methodHttpClient(HttpMessageHandler)Initializes a new instance of the HttpClient class with a specific handler.
Public methodHttpClient(HttpMessageHandler, Boolean)Initializes a new instance of the HttpClient class with a specific handler.
Top
  NameDescription
Public propertyBaseAddressGets or sets the base address of Uniform Resource Identifier (URI) of the Internet resource used when sending requests.
Public propertyDefaultRequestHeadersGets the headers which should be sent with each request.
Public propertyMaxResponseContentBufferSizeGets or sets the maximum number of bytes to buffer when reading the response content.
Public propertyTimeoutGets or sets the number of milliseconds to wait before the request times out.
Top
  NameDescription
Public methodCancelPendingRequestsCancel all pending requests on this instance.
Public methodDeleteAsync(String)Send a DELETE request to the specified Uri as an asynchronous operation.
Public methodDeleteAsync(Uri)Send a DELETE request to the specified Uri as an asynchronous operation.
Public methodDeleteAsync(String, CancellationToken)Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation.
Public methodDeleteAsync(Uri, CancellationToken)Send a DELETE request to the specified Uri with a cancellation token as an asynchronous operation.
Public methodDispose()()()Releases the unmanaged resources and disposes of the managed resources used by the HttpMessageInvoker. (Inherited from HttpMessageInvoker.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the HttpClient and optionally disposes of the managed resources. (Overrides HttpMessageInvoker..::.Dispose(Boolean).)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetAsync(String)Send a GET request to the specified Uri as an asynchronous operation.
Public methodGetAsync(Uri)Send a GET request to the specified Uri as an asynchronous operation.
Public methodGetAsync(String, HttpCompletionOption)Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation.
Public methodGetAsync(String, CancellationToken)Send a GET request to the specified Uri with a cancellation token as an asynchronous operation.
Public methodGetAsync(Uri, HttpCompletionOption)Send a GET request to the specified Uri with an HTTP completion option as an asynchronous operation.
Public methodGetAsync(Uri, CancellationToken)Send a GET request to the specified Uri with a cancellation token as an asynchronous operation.
Public methodGetAsync(String, HttpCompletionOption, CancellationToken)Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation.
Public methodGetAsync(Uri, HttpCompletionOption, CancellationToken)Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation.
Public methodGetByteArrayAsync(String)Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation.
Public methodGetByteArrayAsync(Uri)Send a GET request to the specified Uri and return the response body as a byte array in an asynchronous operation.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetStreamAsync(String)Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation.
Public methodGetStreamAsync(Uri)Send a GET request to the specified Uri and return the response body as a stream in an asynchronous operation.
Public methodGetStringAsync(String)Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation.
Public methodGetStringAsync(Uri)Send a GET request to the specified Uri and return the response body as a string in an asynchronous operation.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodPostAsync(String, HttpContent)Send a POST request to the specified Uri as an asynchronous operation.
Public methodPostAsync(Uri, HttpContent)Send a POST request to the specified Uri as an asynchronous operation.
Public methodPostAsync(String, HttpContent, CancellationToken)Send a POST request with a cancellation token as an asynchronous operation.
Public methodPostAsync(Uri, HttpContent, CancellationToken)Send a POST request with a cancellation token as an asynchronous operation.
Public methodPutAsync(String, HttpContent)Send a PUT request to the specified Uri as an asynchronous operation.
Public methodPutAsync(Uri, HttpContent)Send a PUT request to the specified Uri as an asynchronous operation.
Public methodPutAsync(String, HttpContent, CancellationToken)Send a PUT request with a cancellation token as an asynchronous operation.
Public methodPutAsync(Uri, HttpContent, CancellationToken)Send a PUT request with a cancellation token as an asynchronous operation.
Public methodSendAsync(HttpRequestMessage)Send an HTTP request as an asynchronous operation.
Public methodSendAsync(HttpRequestMessage, HttpCompletionOption)Send an HTTP request as an asynchronous operation.
Public methodSendAsync(HttpRequestMessage, CancellationToken)Send an HTTP request as an asynchronous operation. (Overrides HttpMessageInvoker..::.SendAsync(HttpRequestMessage, CancellationToken).)
Public methodSendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)Send an HTTP request as an asynchronous operation.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

The HttpClient class instance acts as a session to send HTTP requests. An HttpClient instance is a collection of settings applied to all requests executed by that instance. In addition, every HttpClient instance uses its own connection pool, isolating its requests from requests executed by other HttpClient instances.

The HttpClient also acts as a base class for more specific HTTP-clients. An example would be a FacebookHttpClient providing additional methods specific to a Facebook web service (a GetFriends method, for instance).

By default, HttpWebRequest will be used to send requests to the server. This behavior can be modified by specifying a different channel in one of the constructor overloads taking a HttpMessageHandler instance as parameter. If features like authentication or caching are required, WebRequestHandler can be used to configure settings and the instance can be passed to the constructor. The returned handler can be passed to one of the constructor overloads taking a HttpMessageHandler parameter.

C#
  static async void Main()
	{
    try	
    {
      // Create a New HttpClient object.
      HttpClient client = new HttpClient();

      HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
      response.EnsureSuccessStatusCode();
      string responseBody = await response.Content.ReadAsStringAsync();
      // Above three lines can be replaced with new helper method in following line
      // string body = await client.GetStringAsync(uri);

      Console.WriteLine(responseBody);
    }  
    catch(HttpRequestException e)
    {
      Console.WriteLine("\nException Caught!");	
      Console.WriteLine("Message :{0} ",e.Message);
    }
  }

.NET Framework

Supported in: 4.5

Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2012 Microsoft. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker