2010-09-08 13 views
24

Burada ve kullanıcı arabirimi dizelerini yorumlayacak ve içerdiği bilgilerle birlikte güzel bir şekilde yazılan bir nesne verecek olan .NET libs var mı?Kullanıcı aracısı dizgilerini yorumlamak için .NET lib

+0

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

+0

Bu bağlantıyı kontrol edin - Umarım bu yardımcı olur - http://blogs.msdn.com/b/ie/archive/2005/04/27/ 412813.aspx –

+3

Bu bağlantıyı kontrol edin: [http://user-agent-string.info/download/UASparser-for-dotNET](http://user-agent-string.info/download/UASparser-for-dotNET) –

cevap

5

Kullanıcı aracısı dizesini istediğiniz için HttpRequest.Browser özelliğini kullanabilirsiniz. Web sitelerinizi tarayıcı sürümleri yerine tarayıcı yeteneklerine karşı programlamaya çalışın.

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

Kullanıcı aracısı dizelerinin bir günlüğünden çalışıyorum. HttpBrowserCapabilities'i, http isteği sonrası bir kullanıcı aracısı dizesini (uzun) ayrıştırmak için kullanmanın bir yolu var mı? –

+0

Belki bir httprequest oluşturabilir ve daha sonra üstbilgileri ajan dizginizden ayarlayabilir ve bu şekilde çalışır, bunu test etmemiş olabilir. – Stefan

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

     var capabilitiesFactory = new BrowserCapabilitiesFactory(); 

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

     return browserCapabilities; 
11

Sen deneyebilirsiniz bu ua-parser oldukça sık güncellenen gibi görünüyor!

İlgili konular