Używając HttpClient, w jaki sposób mógłbym zapobiec automatycznym przekierowaniom i uzyskać oryginalny kod statusu i adres URL w przypadku 301 [duplikat]

To pytanie ma już tutaj odpowiedź:

Jak skonfigurować HttpClient, aby nie przekierowywał automatycznie, gdy otrzyma kod statusu HTTP 301? 1 odpowiedź

Mam następującą metodę, która zwracaHttp status code danegoUrl:

public static async void makeRequest(int row, string url)
{
    string result;
    Stopwatch sw = new Stopwatch(); sw.Start();

    try
    {
        using (HttpClient client = new HttpClient())
        {
            HttpResponseMessage response = new HttpResponseMessage();
            response = await client.GetAsync(url);

            // dump contents of header
            Console.WriteLine(response.Headers.ToString());

            if (response.IsSuccessStatusCode)
            {
                result = ((int)response.StatusCode).ToString();
            }
            else
            {
                result = ((int)response.StatusCode).ToString();
            }
        }
    }
    catch (HttpRequestException hre)
    {
        result = "Server unreachable";
    }

    sw.Stop();
    long time = sw.ElapsedTicks / (Stopwatch.Frequency / (1000L * 1000L));

    requestComplete(row, url, result, time);
}

Działa dobrze dla200/404 itp., jednak w przypadku301 kody Uważam, że zwrócony wynik tojuż przekierowany (200) wynik, a nie rzeczywisty301 które powinny zostać zwrócone i które miałyby nagłówek zawierający miejsce wskazania przekierowania.

Widziałem coś takiego w innych klasach zapytań internetowych .Net, a technika była takaallowAutoRedirect właściwość na false. Jeśli jest to we właściwych liniach, czy ktoś może mi powiedzieć poprawną alternatywę dlaHttpClient klasa?

Ten post zawiera informacje o powyższej koncepcji allowAutoRedirect

Inaczej, jak mógłbym odzyskać tę metodę301s zamiast200s dla Urli wiem, że jestem szczery301s?

questionAnswers(1)

yourAnswerToTheQuestion