В чем разница между запросом.UserAgent и запрос.Браузер?
вот мой код ниже :
User_Info.Add(!string.IsNullOrEmpty(Request.UserAgent) ? Request.UserAgent : string.Empty);//4:UserAgent
HttpBrowserCapabilities browser = Request.Browser;
User_Info.Add(!string.IsNullOrEmpty(browser.Browser) ? "Name : " + browser.Browser + " | " +
"Type : " + browser.Type + " | " +
"MajorVersion : " + browser.MajorVersion + " | " +
"MinorVersion : " + browser.MinorVersion : string.Empty);//5:UserBrowser
в чем разница между запросом.UserAgent и запрос.Браузер?
Я не мог понять эти строки UserAgent!
Не могли бы вы привести несколько примеров с объяснением?
3 ответов
запрос.Браузер отличается от запроса.UserAgent. UserAgent получает необработанную строку агента пользователя браузера клиента и запрос.Браузер получает информацию о возможностях браузера. Вы не получите все возможности браузера с строка UserAgent.
UserAgent дает вам необработанную строку о браузере. Это может выглядеть так:
агент пользователя:: Mozilla / 4.0 (совместимый; MSIE 6.0 b; Windows NT 5.1; .NET CLR 1.0.2914)
запрос.Браузер даст вам объект HttpBrowserCapabilities, который будет иметь информацию о версии браузера вместе с некоторой дополнительной информацией о возможностях браузера. Например:
- ли браузер поддерживает фреймы
- если он поддерживает cookies ?
- Поддерживает JavaScripts ?
- Поддерживает Java-Приложения ? так далее.
посмотрите на следующий код:
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>");
для сравнения версии браузера с агентом пользователя вам придется использовать строковые операции (Contains), тогда как в случае Request.Browser
вы можете сравнить со свойством.
Request.UserAgent
немного загадочно и требует разбора, чтобы определить, какой браузер, в частности, использует посетитель. Кроме того, он не содержит информации о том, какую версию JavaScript поддерживает браузер, или если браузер поддерживает таблицы стилей CSS 2.0
на Request.Browser
свойство является экземпляром HttpBrowserCapabilities объект предоставляет всю информацию...