Можно ли использовать HttpBrowserCapabilities из консольного приложения С#?

Мне нужно проанализировать строки UserAgent из консольного приложения, и это кажется простым способом сделать это, но у меня, очевидно, нет объекта HttpRequest, и я не могу создать поддельный объект с заголовком User-Agent (я получаю платформа не поддерживает исключение). Есть ли способ сделать это, или мне следует начать изучать другие альтернативы синтаксическому анализу пользовательского агента?


person Jody Powlette    schedule 08.10.2010    source источник
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
comment
Я хочу запустить это вне среды 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