Java browser detection - io.github.vadymkykalo approach

Vadym Kykalo · March 26, 2024

Виявлення браузера на рівні Java: Підхід io.github.vadymkykalo

banner

Значення User Agent у vadymkykalo/browser.java

Бібліотека vadymkykalo/browser.java

Цей проєкт є переробкою існуючої бібліотеки cbschuld/Browser.php від cbschuld, але написаною на мові Java. Вона дозволяє ідентифікувати браузер та платформу користувача, використовуючи інформацію з user-agent заголовка. Детекція включає широкий спектр браузерів, таких як Opera, Firefox, Chrome, Safari, а також систем платформ, включаючи Windows, Linux, Android та інші.

Як користуватися

Використання бібліотеки є досить простим. Перш за все, потрібно додати залежність у ваш Maven проект:

<dependency>
    <groupId>io.github.vadymkykalo</groupId>
    <artifactId>browser</artifactId>
    <version>0.1.2</version>
</dependency>

Після додавання залежності, можна використовувати клас Browser для аналізу user agent:

String userAgent = "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16";
Browser browser = new Browser(userAgent);
System.out.println("You have Browser: " + browser);
System.out.println("browser.getBrowser(): " + browser.getBrowser());
System.out.println("browser.getPlatform(): " + browser.getPlatform());
System.out.println("browser.getVersion(): " + browser.getVersion());
System.out.println("browser.getAolVersion(): " + browser.getAolVersion());
System.out.println("browser.getUserAgent(): " + browser.getUserAgent());
System.out.println("browser.isMobile(): " + browser.isMobile());
System.out.println("browser.isBrowser(browser.getBrowser()): " + browser.isBrowser(browser.getBrowser()));
System.out.println("browser.isMobile(): " + browser.isMobile());
System.out.println("browser.isRobot(): " + browser.isRobot());
System.out.println("browser.isAol(): " + browser.isAol());
System.out.println("browser.isFacebook(): " + browser.isFacebook());
System.out.println("browser.isChromeFrame(): " + browser.isChromeFrame());
System.out.println("browser.isTablet(): " + browser.isTablet());

результат отримаємо:

You have Browser: Browser Name: Opera 
Browser Version: 12.16 
Browser User Agent String: Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16 
Platform: Linux
browser.getBrowser(): Opera
browser.getPlatform(): Linux
browser.getVersion(): 12.16
browser.getAolVersion(): unknown
browser.getUserAgent(): Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16
browser.isMobile(): false
browser.isBrowser(browser.getBrowser()): true
browser.isMobile(): false
browser.isRobot(): false
browser.isAol(): false
browser.isFacebook(): false
browser.isChromeFrame(): false
browser.isTablet(): false

Особливості та переваги

Бібліотека vadymkykalo/browser.java надає розробникам зручний спосіб ідентифікації браузера і платформи без необхідності вдаватися до клієнтського JavaScript. Це особливо корисно для веб-додатків, які потребують серверної обробки цієї інформації.

Відкриття issue або внесення вкладу через pull request може допомогти покращити функціональність та розширити можливості бібліотеки.

Twitter, Facebook