2010-09-08 17 views
24

Existe-t-il des bibliothèques .NET qui interpréteront les chaînes d'agents utilisateur stockées et vous donneront un bel objet fortement typé avec les informations contenues?.NET lib pour l'interprétation des chaînes d'agent utilisateur

+0

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

+0

Cochez ce lien - J'espère que cela vous aide - http://blogs.msdn.com/b/ie/archive/2005/04/27/ 412813.aspx –

+3

Vérifiez ce lien: [http://user-agent-string.info/download/UASparser-for-dotNET](http://user-agent-string.info/download/UASparser-for-dotNET) –

Répondre

5

Vous pouvez utiliser la propriété HttpRequest.Browser s'il s'agit de la chaîne de l'agent utilisateur. Essayez de programmer vos sites Web en fonction des capacités du navigateur au lieu des versions du navigateur.

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

Je travaille à partir d'un journal des chaînes d'agent utilisateur. Est-il possible d'utiliser HttpBrowserCapabilities pour analyser une chaîne d'agent utilisateur (long) après la requête http? –

+0

Peut-être que vous pouvez créer un httprequest, puis définir les en-têtes à partir de votre chaîne d'agent et cela fonctionnera de cette façon, havent testé. – Stefan

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

     var capabilitiesFactory = new BrowserCapabilitiesFactory(); 

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

     return browserCapabilities; 
11

Vous pouvez essayer cette ua-parser il semble être mis à jour assez souvent!