How to get user Browser name ( user-agent ) in Asp.net Core?
您能否让我知道如何获取客户端在MVC 6,asp.net 5中使用的浏览器的名称?
我认为这很容易。 在
谢谢
对我来说,
已安装ua-parse。
在控制器
1 2 3 4 | var userAgent = httpContext.Request.Headers["User-Agent"]; string uaString = Convert.ToString(userAgent[0]); var uaParser = Parser.GetDefault(); ClientInfo c = uaParser.Parse(uaString); |
使用上述代码后,可以使用
您还可以获取操作系统详细信息,例如
1 | userAgent = Request.Headers["User-Agent"]; |
https://code.msdn.microsoft.com/How-to-get-OS-and-browser-c007dbf7(链接无效)
去4.8
https://docs.microsoft.com/zh-cn/dotnet/api/system.web.httprequest.useragent?view=netframework-4.8
我已经开发了一个库来扩展ASP.NET Core,以支持Wangkanai.Detection中的Web客户端浏览器信息检测。这应该可以让您标识浏览器名称。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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()); } } } |