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?