2010-09-08 16 views
24

¿Hay libs .NET disponibles que interpretarán las cadenas de agente de usuario almacenadas y le darán un buen objeto fuertemente tipado con la información contenida?.NET lib para interpretar las cadenas de agente de usuario

+0

http://www.hanselman.com/blog/TheNETFrameworkAndTheBrowsersUserAgentString.aspx – pm100

+0

Revisa este enlace - Espero que esto te ayude - http://blogs.msdn.com/b/ie/archive/2005/04/27/ 412813.aspx –

+3

Revise este enlace: [http://user-agent-string.info/download/UASparser-for-dotNET](http://user-agent-string.info/download/UASparser-for-dotNET) –

Respuesta

5

Puede usar la propiedad HttpRequest.Browser si es para eso desea la cadena de agente de usuario. Intente programar sus sitios web en función de las capacidades del navegador en lugar de las versiones del navegador.

http://msdn.microsoft.com/en-us/library/system.web.httprequest.browser.aspx

HttpBrowserCapabilities bc = Request.Browser; 
Response.Write("<p>Browser Capabilities:</p>"); 
Response.Write("Type = " + bc.Type + "<br>"); 
Response.Write("Name = " + bc.Browser + "<br>"); 
Response.Write("Version = " + bc.Version + "<br>"); 
Response.Write("Major Version = " + bc.MajorVersion + "<br>"); 
Response.Write("Minor Version = " + bc.MinorVersion + "<br>"); 
Response.Write("Platform = " + bc.Platform + "<br>"); 
Response.Write("Is Beta = " + bc.Beta + "<br>"); 
Response.Write("Is Crawler = " + bc.Crawler + "<br>"); 
Response.Write("Is AOL = " + bc.AOL + "<br>"); 
Response.Write("Is Win16 = " + bc.Win16 + "<br>"); 
Response.Write("Is Win32 = " + bc.Win32 + "<br>"); 
Response.Write("Supports Frames = " + bc.Frames + "<br>"); 
Response.Write("Supports Tables = " + bc.Tables + "<br>"); 
Response.Write("Supports Cookies = " + bc.Cookies + "<br>"); 
Response.Write("Supports VB Script = " + bc.VBScript + "<br>"); 
Response.Write("Supports JavaScript = " + bc.JavaScript + "<br>"); 
Response.Write("Supports Java Applets = " + bc.JavaApplets + "<br>"); 
Response.Write("Supports ActiveX Controls = " + bc.ActiveXControls + "<br>"); 
Response.Write("CDF = " + bc.CDF + "<br>"); 
+0

Estoy trabajando desde un registro de cadenas de agente de usuario. ¿Hay alguna forma de utilizar HttpBrowserCapabilities para analizar una cadena de agente de usuario (larga) después de la solicitud http? –

+0

Tal vez pueda crear una httprequest y luego establecer los encabezados de su cadena de agente y funcionará de esa manera, no la ha probado. – Stefan

14
 var browserCapabilities = new HttpBrowserCapabilities 
     { 
      Capabilities = new Hashtable { { string.Empty, userAgent } } 
     }; 

     var capabilitiesFactory = new BrowserCapabilitiesFactory(); 

     capabilitiesFactory.ConfigureBrowserCapabilities(new NameValueCollection(), browserCapabilities); 

     return browserCapabilities; 
11

Usted podría intentar esto ua-parser parece ser actualizados con bastante frecuencia!

Cuestiones relacionadas