Более простой подход для определения Comparator
в Java 8+:
Comparator.comparing(Employee::getName).thenComparing(Employee::getSalary)
Определение браузера сделано на основе заголовка в запросе к серверу. Все, что необходимо сделать, установлено тот заголовок. Однако с HttpWebRequest Вы не устанавливаете это через набор заголовков, а скорее с.UserAgent свойством.
...
System.Net.WebRequest objRequest =
System.Net.HttpWebRequest.Create(strURL);
//Pretend to be IE7
((System.Net.HttpWebRequest)objRequest).UserAgent =
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";
objResponse = objRequest.GetResponse();
...
как с Waldens выше, но должен был заменить
objRequest.UserAgent =
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";
с
((System.Net.HttpWebRequest)objRequest).UserAgent = "Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html)";
Иначе это упало. (Я изменил браузер на googlebot для уклонения от нашего сервера cookie),
Я думаю большинство (если не все), определение браузера основано на заголовке Агента пользователя, установленном HttpRequest. Свойство UserAgent. Я вижу, что существует веб-сайт для строк агента пользователя различных браузеров: http://www.user-agents.org/