Set various options for your HTTP calls through the HttpClientHandler object in .NET

The HttpClient object in the System.Net.Http namespace has become quite a standard object in .NET to initiate HTTP calls in code. In this short post I’d like to draw your attention to one of its constructors which allows you to set various useful options.

An overloaded HttpClient constructor lets you pass in an object of type HttpMessageHandler. That is an abstract base class and one of the implementations built into the .NET library is the HttpClientHandler. You can look through the MSDN documentation provided in the link but here comes a simple example of its usage:

HttpClientHandler handler = new HttpClientHandler()
{
	AllowAutoRedirect = true,
	AutomaticDecompression = System.Net.DecompressionMethods.GZip,
	ClientCertificateOptions = ClientCertificateOption.Automatic,
	UseCookies = false				
};

HttpClient client = new HttpClient(handler)
{
	BaseAddress = new Uri("http://www.myapi.com/")
};
HttpResponseMessage response = await client.GetAsync("customers");

View all various C# language feature related posts here.

Unknown's avatarAbout Andras Nemes
I'm a .NET/Java developer living and working in Stockholm, Sweden.

Leave a comment

Elliot Balynn's Blog

A directory of wonderful thoughts

Software Engineering

Web development

Disparate Opinions

Various tidbits

chsakell's Blog

WEB APPLICATION DEVELOPMENT TUTORIALS WITH OPEN-SOURCE PROJECTS

Once Upon a Camayoc

ARCHIVED: Bite-size insight on Cyber Security for the not too technical.