selectors - Buscando un agente de usuario Java String Parser
jsoup selectors (2)
¿Alguien sabe de una gran biblioteca en Java para analizar cadenas de agente de usuario? Hemos escrito uno personalizado, pero este parece ser un problema común para muchas personas. Supongo que hay una buena biblioteca disponible en alguna parte.
Por ejemplo, la cadena de agente de usuario ...
"Mozilla / 5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit / 532.0 (KHTML, como Gecko) Chrome / 3.0.195.21 Safari / 532.0"
... crípticamente anuncia la llegada de una PC con Windows Vista usando Chrome en nuestro sitio.
He visto bibliotecas en python y ruby. ¿Hay algo en java por ahí?
Hasta donde yo sé ( y por qué no debería, es una de las empresas de servicios que solía trabajar para proporcionar sus productos ), la detección de agentes de usuario cuando se realiza correctamente es en realidad un buen negocio en sí mismo.
Hay varias bases de datos gratuitas, como WURFL contienen algunos patrones de identificación rudimentarios para los agentes de usuario, pero que se centran principalmente en teléfonos móviles, por lo que al final puede tener que seguir utilizando el que ha creado y solo agregar la capacidad de importar desde / exportar a varios formatos relacionados con el estado actual de los metadatos de identificación del agente de usuario.
Si no vas a alejarte del mundo del escritorio / PC, no tendrás mucho de lo que preocuparte, ya que solo hay cuatro principales motores de diseño, por supuesto con un conjunto de versiones con distintas capacidades. Los cuatro más grandes son el de Trident en IE , el Gecko de Mozilla , el WebKit de KDE (al menos en Safari y Chrome) y el Presto de Opera .
Sin embargo, pruebe una nueva biblioteca que se actualiza mensualmente y está disponible en The Central Repository: http://uadetector.sourceforge.net/
Es otra envoltura para user-agent-string.info , pero con una implementación mucho más sólida y probada en comparación con las otras.
Estoy trabajando en una API 1.0 estable que deseo lanzar a fines de este año. Después del lanzamiento de la API 1.0, no tiene que volver a compilar nada. Solo cambia el uadetector-resources.jar en su directorio lib de aplicaciones. La función ''actualizada mensualmente'' significa, si desea un archivo de ''Datos UAS'' probado en la integración, para el cual tiene la garantía de que se ejecuta con el núcleo definido, que este se ajusta a sus necesidades. Pero si no está interesado en actualizar un JAR (que probé yo), puede utilizar OnlineUserAgentStringParser con el riesgo de que la implementación no se ejecute con el XML descargado automáticamente. No estoy interesado en lanzar más paquetes ''uadetector-core'' según sea necesario, especialmente cuando se lanza la API en la versión 1.0.
Otra solución para un cliente podría ser que él mantiene los ''datos UAS'' para sí mismo, cuando trabaja con OnlineUserAgentStringParser y personaliza el archivo de propiedades para establecer la URL correcta.