【发布时间】:2020-02-12 23:17:16
【问题描述】:
如何在 asp.net core 3.0.1 中获取客户端的浏览器信息,我 尝试使用此代码,但是,它返回给我用户的完整列表 浏览器,但是,我需要用户使用它的浏览器。
我使用的代码:
var userAgent = Request.Headers["User-Agent"].ToString();
我也试过这段代码,但是,它给了我错误:
UserAgent.UserAgent ua = new UserAgent.UserAgent(userAgent);
我搜索了很多链接,但是,我没有找到我需要的,这是我搜索的一些链接:
- https://code.msdn.microsoft.com/How-to-get-OS-and-browser-c007dbf7
- How to get user Browser name ( user-agent ) in Asp.net Core?
- https://docs.microsoft.com/en-us/dotnet/api/system.web.httprequest.useragent?view=netframework-4.8
- https://www.c-sharpcorner.com/forums/how-to-get-current-browser-details-in-asp-net-core
有什么方法可以获取客户端运行应用程序的浏览器名称和版本 使用 Asp.Net Core 3.0.1?
【问题讨论】:
-
出于好奇,你为什么需要这个?客户端可以轻松欺骗或删除
User-Agent值,因此它不是很依赖。另外,您从标头中获得的值是多少? -
不可靠没有。 “User-Agent”标头(以及所有其他请求标头)很容易被欺骗,一些浏览器默认这样做是出于安全/跟踪问题。就像弗雷德里克一样,我会问:你为什么需要这个?
-
这不是“用户浏览器的完整列表”;实际发出请求的是浏览器发送的 UA。列出的其他“浏览器”是为了兼容性,很大程度上是因为人们在做你在这里所做的事情:试图嗅探浏览器并提供不同的体验或拒绝访问。所有浏览器都开始添加来自其他主要浏览器的令牌,因此没有简单的方法可以删除所有 Chrome 用户,例如。尽管如此,每个 UA 字符串对于特定的浏览器和版本都是唯一的。
-
看看this link。您将获得几乎完整的浏览器信息。
标签: c# browser .net-core asp.net-core-3.0