Se você realmente deseja o URL bruto real, pode usar o seguinte método de extensão:
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);
}
}
Este método utiliza o RawTarget
da solicitação, que não aparece no HttpRequest
próprio objeto. Esta propriedade foi adicionada na versão 1.0.0 do ASP.NET Core. Certifique-se de que está executando essa ou uma versão mais recente.
NOTA! Esta propriedade expõe o URL bruto , portanto, não foi decodificado, conforme observado pela documentação:
Esta propriedade não é usada internamente para decisões de roteamento ou autorização. Não foi urlDecoded e deve-se ter cuidado ao usá-lo.