网站如何找出正在访问的浏览器

我该怎么做

您是否为asp.net c#

提供答案
有帮助吗?

解决方案

浏览器告诉服务器它在User-Agent字符串中的浏览器类型,它包含在每个HTTP请求中。

您可以直接访问User-Agent并自行解析,也可以使用ASP.NET的内置浏览器功能,该功能依赖于几个* .browser文件,正则表达式等。

User-Agent: <%= Request.UserAgent %>
ID: <%= Request.Browser.Id %>
Browser: <%= Request.Browser.Browser %>
Type: <%= Request.Browser.Capabilities["type"] %>

其他提示

他们会查找请求中传递的用户代理。

在ASP.NET中:

<代码> Request.ServerVariables [&QUOT; HTTP_USER_AGENT&QUOT;]

HTTP协议提供 请求标题 的属性称为 User-Agent ,客户端(此处为Web浏览器)使用标识浏览器品牌,版本和操作系统的字符串填写。与HTTP标头的所有元素一样,该信息可能是“欺骗”的。或出于各种目的而改变(例如通过各种客户端隐私网关等),但它通常相对可靠。

此类User-Agent字符串的一个示例是(此处为FireFox浏览器,3.5版,在Windows XP下运行)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5

接收应用程序可以查询此信息以及标头中的其他属性。虽然细节从一种语言/框架到下一种语言/框架不同,但是这些语言/框架可能会暴露出一个简单的对象模型,它反映了与HTTP协议相关的各种对象。在http报头的情况下,这通常来自“请求”和“请求”。 (可能以不同的名称命名)对象,因此访问User-Agent可能类似于:

  ClientBrowser = Request.Header("User-Agent")

或可能

  ClientBrowser = HttpHeader.UserAgent

修改:如果是 C#/ ASP.NET (问题的后期编辑):

ClientBrowser = Request.ServerVariables("HTTP_USER_AGENT")

此外,虽然您可能想直接使用此信息,但您也可以依赖各种库来封装解析[很多版本的] User-Agent 字符串的细节。特定的网络浏览器,甚至特殊形式的javascript,应该发送这样的客户端。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top