asp.net-core - introducción - asp.net core vs asp.net mvc
¿Cómo obtener el nombre del navegador del usuario(user-agent) en Asp.net Core? (4)
Creo que fue fácil.
Obtuve la respuesta en
Request.Headers["User-Agent"].ToString()
Gracias
¿Puede decirme cómo obtener el nombre del navegador que está utilizando el cliente en MVC 6, asp.net 5?
He desarrollado una biblioteca para ampliar ASP.NET Core para admitir la detección de información del navegador del cliente web en Wangkanai.Detection Esto debería permitirle identificar el nombre del navegador.
namespace Wangkanai.Detection
{
/// <summary>
/// Provides the APIs for query client access device.
/// </summary>
public class DetectionService : IDetectionService
{
public HttpContext Context { get; }
public IUserAgent UserAgent { get; }
public DetectionService(IServiceProvider services)
{
if (services == null) throw new ArgumentNullException(nameof(services));
this.Context = services.GetRequiredService<IHttpContextAccessor>().HttpContext;
this.UserAgent = CreateUserAgent(this.Context);
}
private IUserAgent CreateUserAgent(HttpContext context)
{
if (context == null) throw new ArgumentNullException(nameof(Context));
return new UserAgent(Context.Request.Headers["User-Agent"].FirstOrDefault());
}
}
}
Para mí
Request.Headers["User-Agent"].ToString()
no ayudó a evitar la devolución de todos los nombres de navegadores que se encuentran después de la solución.
Instalado
ua-parse
.
En el controlador
using UAParser;
var userAgent = httpContext.Request.Headers["User-Agent"];
string uaString = Convert.ToString(userAgent[0]);
var uaParser = Parser.GetDefault();
ClientInfo c = uaParser.Parse(uaString);
después de usar el código anterior, pude obtener detalles del navegador de userAgent usando
c.UserAgent.Family
También puede obtener detalles del sistema operativo como
c.OS.Family;
userAgent = Request.Headers["User-Agent"];
https://code.msdn.microsoft.com/How-to-get-OS-and-browser-c007dbf7