Мне нужно проанализировать строки UserAgent из консольного приложения, и это кажется простым способом сделать это, но у меня, очевидно, нет объекта HttpRequest, и я не могу создать поддельный объект с заголовком User-Agent (я получаю платформа не поддерживает исключение). Есть ли способ сделать это, или мне следует начать изучать другие альтернативы синтаксическому анализу пользовательского агента?
Можно ли использовать HttpBrowserCapabilities из консольного приложения С#?
comment
какой запрос страницы вы хотите захватить???? специально из консольного приложения?
- person Shoaib Shaikh   schedule 08.10.2010
comment
Нет запроса страницы. У меня есть список пользовательских агентов в текстовом файле, и я хочу разобрать браузер, версию, ОС и пару других вещей - все это было бы доступно через Request.Browser, но теперь я пытаюсь получить их из консольное приложение и список строк UserAgent.
- person Jody Powlette   schedule 08.10.2010
Ответы (1)
Заголовок User-Agent
может быть проанализирован классом HttpBrowserCapabilities
с помощью BrowserCapabilitiesFactory следующим образом:
var userAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) " +
"Gecko/20100914 Firefox/3.6.10";
var browser = new HttpBrowserCapabilities {
Capabilities = new Hashtable {{string.Empty, userAgent}}
};
var factory = new BrowserCapabilitiesFactory();
factory.ConfigureBrowserCapabilities(new NameValueCollection(), browser);
person
Nathan Baulch
schedule
08.10.2010
Я хочу запустить это вне среды asp.net (анализ файлов журнала). Кажется, он не очень хорошо определяет тип и версию агента. Mozilla/5.0+(Windows+NT+6.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/37.0.2062.120+Safari/537.36 = Chrome 37, но Mozilla/4.0+(совместимый;+MSIE+7.0 ;+Windows+NT+6.1;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Медиа+Центр +ПК+6.0;+.NET4.0C;+.NET4.0E;+InfoPath.3;+SynapseWorkstation.3.2.1;+MS-RTC+LM+8;+Планшет+ПК+2.0) = Mozilla.
- person Jeremy; 21.05.2015