网站如何找出访问它们的浏览器
我该怎么做
你给asp.net c#的答案吗
他们寻找请求中传递的用户代理。
在 ASP.NET 中:
Request.ServerVariables["HTTP_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"] %>
HTTP 协议提供了一个名为User-Agent的请求标头属性,客户端(这里是 Web 浏览器)用标识浏览器制造商、版本和操作系统的字符串填充该属性。与 HTTP 标头的所有元素一样,此信息很可能被“欺骗”或出于各种目的而更改(例如通过各种客户端隐私网关等),但它通常相对可靠。
此类用户代理字符串的一个示例是(此处为 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字符串的详细信息,以找出特定的 Web 浏览器甚至特定的表单应发送此类客户端的 javascript。