В моей базе данных У меня есть длинный список пользовательских агентов, для которых я требую их перевода, очень перспективным инструментом является WURFL, но он не имеет поддержки градиента и не очень хорошо документирован. Все примеры, которые я смог восстановить, объяснили, как реализовать его с помощью сервлета Java, но в моем случае у меня нет сервлета или HTTP-запроса \ ответа, просто длинный список пользовательских агентов, которым нужен перевод, есть ли простой способ запросить базу данных WURFL с помощью простой java-программы?WURFL без сервлета
ответ
Лучшее решение состоит в том, чтобы скомпилировать wurfl-cloud-client-java jar jar (Maven), его можно найти в: https://github.com/WURFL/wurfl-cloud-client-java не существует jar \ maven \ gradle, доступного в другом месте.
Затем импортировать его в свой проект и запустить следующее:
@Test(groups = "unit")
public class CloudClientUserAgentQueryTest extends Loggable{
private static final String ua = "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/30.0.1599.12 Mobile/11A465 Safari/8536.25 (3B92C18B-D9DE-4CB7-A02A-22FD2AF17C8F)";
private ICloudClientManager ICloudClient;
private AbstractDevice device;
private String[] capabilities;
private String mobile;
@BeforeClass
public void setup() throws Exception {
CloudClientLoader loader = new CloudClientLoader(null, "/DefaultTest.properties");
ICloudClient = loader.getClientManager();
}
@BeforeMethod
public void setupDevice() {
device = ICloudClient.getDeviceFromUserAgent(ua, capabilities);
Object mobile = device.get("is_wireless_device");
this.mobile = mobile != null ? mobile.toString() : "unknown";
}
@Test
public void testClient() {
assertTrue(mobile.equals("true"));
}
}
51Degrees Java API поддерживает автономную обработку списков User-Agent. Я видел объяснение how to use this feature on their website.
Однако, поскольку большое количество User-агентов содержат запятые, я бы предложил изменить выходной разделитель CSV в коде из приведенной выше ссылки на что-то еще, чтобы избежать путаницы.
Этот метод использует список User-агентов в качестве входа с одним User-Agent в строке.
Надеюсь, что это поможет.
Самый простой способ сделать это - просто использовать простой Java WURFL API Java, который может работать с простым исполняемым Java-классом. Вы просто должны положить его в путь к классам (или импортировать его с Maven, в случае, если вы используете его), и сделать что-то вроде этого:
public static void main(String[] args) {
String ua = "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/30.0.1599.12 Mobile/11A465 Safari/8536.25 (3B92C18B-D9DE-4CB7-A02A-22FD2AF17C8F)";
WURFLEngine engine = new GeneralWURFLEngine("path/to/wurfl.zip");
Device device = engine.getDeviceForRequest(ua);
System.out.println("Device id: " + device.getId());
System.out.println("Capability preferred_markup: " + device.getCapability("preferred_markup"));
System.out.println("Device name: " + device.getCapability("device_name"));
System.out.println("Brand: " + device.getCapability("brand_name"));
}
Пожалуйста, обратите внимание, что вам нужен файл WURFL. Если у вас его нет (текущие версии файлов распространяются Scientiamobile по коммерческой лицензии), вышеупомянутый облачный клиент Java также может работать.
- 1. Как запросить информацию WURFL
- 2. Участник WURFL для java
- 3. Проблема в WURFL
- 4. Java WURFL Exception Реализация
- 5. WURFL для мобильных телефонов
- 6. Tricking WURFL mobile detect
- 7. Новый API API WURFL Вопрос
- 8. Javascript beginner пытается использовать WURFL
- 9. Невозможно использовать WURFL с Scala
- 10. Есть ли wurfl python api?
- 11. Best Open Source WURFL альтернативный
- 12. распределение памяти WURFL фатальная ошибка
- 13. Разработка веб-клиента без сервлета
- 14. Веб-страница Java без сервлета?
- 15. Ответ сервлета без обновления JSP
- 16. Использование CDI без контейнера сервлета
- 17. Нужен список идентификаторов WURFL для мобильных устройств, отсортированных по ОС. не используя «device_os =» из WURFL
- 18. Обнаружение мобильных телефонов с помощью Tera-WURFL
- 19. WURFL | PHP | Идентификатор устройства не загружен в
- 20. Исключение при настройке wurfl in zend
- 21. Использование Wurfl для определения разрешения мобильного экрана?
- 22. Использование wurfl api в kohana 3.2
- 23. Обнаружение браузера по умолчанию android от Wurfl
- 24. Как интегрировать wurfl в нашем файле jar
- 25. Получение пути контекста в классе без сервлета
- 26. Перенаправление с сервлета без изменения URL-адреса?
- 27. Отображение данных без передачи Параметр для сервлета
- 28. Как переопределить @WebInitParam сервлета без перекомпиляции?
- 29. Как инициализировать SpringWebAplication без сервлета диспетчера?
- 30. Сохранение потока сервлета без блокировки рабочей нити
Спасибо, но мне нужно использовать WURFL. – Adi