Obtenga una colección de URL redirigidas desde HttpWebResponse

Estoy tratando de recuperar una lista de urls que representan la ruta tomada deURL X aURL Y dóndeX Puede ser redirigido varias veces.

Por ejemplo:

http://www.example.com/foo

Eso redirigirá a:

http://www.example.com/bar

Que luego redirige a:

http://www.example.com/foobar

¿Hay alguna forma de obtener esta ruta de redireccionamiento desde el objeto de respuesta como una cadena:http://www.example.com/foo > http://www.example.com/bar > http://www.example.com/foobar

Soy capaz de llegar a la URL final a través deResponseUri p.ej.

public static string GetRedirectPath(string url)
{
    StringBuilder sb = new StringBuilder();
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    using (var response = (HttpWebResponse)request.GetResponse())
    {
        sb.Append(response.ResponseUri);
    }
    return sb.ToString();
}

Pero esto obviamente omite la URL en el medio. ¿Parece que no hay una manera fácil (o una manera de hacerlo) de obtener el camino completo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta