How can I get System.Net.Http.HttpClient to not follow 302 redirects?

c#, dotnet-httpclient

Solution

One of the overloads of the `HttpClient` constructor takes a `WebRequestHandler` argument. The `HttpClient` class uses this `WebRequestHandler` for sending requests.

The `WebRequestHandler` class provides a property called `AllowAutoRedirect` to configure the redirect behaviour. Setting this property to false instructs the `HttpClient` to not follow redirect responses.

Here is a small code sample:

WebRequestHandler webRequestHandler = new WebRequestHandler();

webRequestHandler.AllowAutoRedirect = false;

HttpClient httpClient = new HttpClient(webRequestHandler);

// Send a request using GetAsync or PostAsync

Task<HttpResponseMessage> response = httpClient.GetAsync("http://www.google.com");

Problem

Using HttpClient from NuGet. The app sends a post with client.PostAsync(). I'd like it to NOT follow 302 redirects. how? I figure I can just set `AllowAutoRedirect` as described in this answer. But how do I get the `HttpWebRequest` used within a PostAsync() call?

Original source

Related problems