Comment puis-je obtenir l'Url Référent dans ASP.NET Core, MVC?
Je suis en train de migrer une ASP.NET MVC formulaire en ligne ASP.NET Core, MVC. Actuellement, j'ai de la difficulté avec la Request.UrlReferrer
classe.
La ligne d'origine est:
[HttpPost]
public async Task<ActionResult> ContactUsFormSubmit(ContactUs request)
{
var siteUrl = Request.UrlReferrer.ToString().ToLower();
....
}
Cependant, avec ASP.NET de Base, UrlReferrer n'est pas disponible. J'ai trouvé ce qui suit:
Request.Headers["Referer"]
qui renvoie les valeurs de type string au lieu d'une Chaîne. Je ne suis pas sûr si je devrais essayer de l'utiliser ou s'il y a d'autres solutions à cette situation. Request.ServerVariables
est pas disponible, ou peut-être que je n'ai pas l'espace de noms. Mes espaces de noms sont comme suit:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
Je serais vraiment reconnaissant si quelqu'un peut me diriger dans la bonne direction.
- Certains sites comme Google l'habitude de vous donner le referer pour des raisons de sécurité. De yeux de Google: Google ne veux pas que vous verrez le texte de la recherche qui serait une partie du referer.
- Pour info: l'URL Referer n'est pas fiable.
Vous devez vous connecter pour publier un commentaire.
Vous y êtes presque. Le
StringValues
classe est juste un type ASP.NET utilise pour représenter efficacement les chaînes dans le cadre. En particulier dans leHttpContext
objet. Vous pouvez les appelerToString()
dessus pour convertir une chaîne de caractères:presque le même que l'on a accepté de répondre sans la magie de la chaîne
Nuget
paquet (Microsoft.AspNetCore.Server.Kestrel
)... a également été testé pour fonctionner dansIISExpress
?SSL
? etc.?Voici comment je l'ai eu url référent:-
De asp.net core 2 utilisation
GetTypedHeaders