Jeśli naprawdę chcesz mieć rzeczywisty, surowy adres URL , możesz użyć następującej metody rozszerzenia:
public static class HttpRequestExtensions
{
public static Uri GetRawUrl(this HttpRequest request)
{
var httpContext = request.HttpContext;
var requestFeature = httpContext.Features.Get<IHttpRequestFeature>();
return new Uri(requestFeature.RawTarget);
}
}
Ta metoda wykorzystuje RawTarget
żądanie, które nie jest wyświetlane w samym HttpRequest
obiekcie. Ta właściwość została dodana w wersji 1.0.0 programu ASP.NET Core. Upewnij się, że używasz tej lub nowszej wersji.
UWAGA! Ta właściwość ujawnia nieprzetworzony adres URL, więc nie został on zdekodowany, zgodnie z dokumentacją:
Ta właściwość nie jest używana wewnętrznie do podejmowania decyzji dotyczących routingu lub autoryzacji. Nie został on UrlDecoded i należy zachować ostrożność podczas jego używania.