Я в значительной степени понял это, пока работал над этим, но я подумал, что опубликую это здесь, если другие столкнутся с той же проблемой.
Ответ включен как часть исключения, котороеэто бросить, поэтому я смог получить то же поведение, что и в .NET 4.7.1, изменив мой код следующим образом:
var req = (HttpWebRequest) WebRequest.Create(myUrl);
req.MediaType = "GET";
req.AllowAutoRedirect = false;
try
{
var rsp = req.GetResponse();
Console.WriteLine(rsp.Headers["Location"]);
}
catch (WebException e)
{
var rsp = (HttpWebResponse) e.Response;
if (rsp.StatusCode == HttpStatusCode.Moved ||
rsp.StatusCode == HttpStatusCode.MovedPermanently ||
rsp.StatusCode == HttpStatusCode.Found)
{
Console.WriteLine(rsp.Headers["Location"]);
}
else throw;
}