¿Cómo descubren los sitios web qué navegador los visita?
-
06-07-2019 - |
Pregunta
¿Cómo descubren los sitios web qué navegador los visita?
cómo puedo hacer esto
¿Está dando respuesta para asp.net c #
Solución
El navegador le dice al servidor qué tipo de navegador está en la cadena de User-Agent, que incluye con cada solicitud HTTP.
Puede acceder al User-Agent directamente y analizarlo usted mismo, o puede usar la función de capacidades de navegador incorporada de ASP.NET, que se basa en varios archivos * .browser, expresiones regulares, etc.
User-Agent: <%= Request.UserAgent %>
ID: <%= Request.Browser.Id %>
Browser: <%= Request.Browser.Browser %>
Type: <%= Request.Browser.Capabilities["type"] %>
Otros consejos
Buscan el agente de usuario pasado en la solicitud.
En ASP.NET:
Request.ServerVariables["HTTP_USER_AGENT"font>
El protocolo HTTP proporciona un atributo del encabezado de solicitud llamado User-Agent que el cliente (aquí, los navegadores web) completa con una cadena que identifica la marca, la versión y el sistema operativo del navegador. Al igual que todos los elementos del encabezado HTTP, esta información puede estar "falsificada". o alterado para varios propósitos (por ejemplo, por varias puertas de enlace de privacidad del lado del cliente y similares), pero generalmente es relativamente confiable.
Un ejemplo de dicha cadena de User-Agent es (aquí para un navegador FireFox, Versión 3.5, que se ejecuta en Windows XP)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
La aplicación receptora puede consultar esta información, junto con otros atributos del encabezado. Aunque los detalles varían de un lenguaje / marco a otro, muchos de estos lenguajes / framworks exponen un modelo de objeto simple que refleja los diversos objetos asociados con el protocolo HTTP. En el caso del encabezado http, esto generalmente proviene de la " Solicitud " (puede tener un nombre diferente) objeto, por lo que acceder al User-Agent puede ser algo así como:
ClientBrowser = Request.Header("User-Agent")
o posiblemente
ClientBrowser = HttpHeader.UserAgent
Editar : en el caso de C # / ASP.NET (edición tardía de la pregunta):
ClientBrowser = Request.ServerVariables("HTTP_USER_AGENT")
Además, aunque puede tener la tentación de usar esta información directamente, también puede confiar en varias bibliotecas que encapsulan los detalles del análisis de las [muchas versiones del] User-Agent para calcular fuera del navegador web en particular e incluso las formas particulares de javascript que se debe enviar a dicho cliente.