对于下面的用户代理,os版本似乎是空的,为什么它没有值?不知道它有什么价值吗?
User Agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.22+ (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/535.22+ Debian/7.0 (3.4.2-2.1) Epiphany/3.4.2
结果:
ua_family = Epiphany, os_family = Debian, os_version = , device_family = Other, device = Desktop
从here解析用户代理。
答案 0 :(得分:0)
库的main source file非常简单易读 - 看起来它对Linux发行版的了解并不多(除非它们也恰好是某种移动操作系统):
MOBILE_DEVICE_FAMILIES = (
...
)
PC_OS_FAMILIES = ( <-- no Linux! :(
'Windows 95',
'Windows 98',
'Windows ME',
'Solaris',
)
MOBILE_OS_FAMILIES = (
...
)
MOBILE_BROWSER_FAMILIES = (
...
)
TABLET_DEVICE_FAMILIES = (
...
)
TOUCH_CAPABLE_OS_FAMILIES = (
...
)
TOUCH_CAPABLE_DEVICE_FAMILIES = (
...
)
如果你关心的只是从你的UA线上获取操作系统信息,那么UA行的几个部分用'/'分隔:
Mozilla <-- Note: no "User Agent = "
5.0 (X11; Linux x86_64) AppleWebKit
535.22+ (KHTML, like Gecko) Chromium
17.0.963.56 Chrome
17.0.963.56 Safari
535.22+ Debian
7.0 (3.4.2-2.1) Epiphany
3.4.2
您基本上想要识别(X11; Linux x86_64)
,Debian
,7.0 (3.4.2-2.1) Epiphany
和3.4.2
部分,它们会告诉您“这是基于Debian 7.0的Linux发行版x86_64内核版本为3.4.2-2.1。“
您总是可以创建一个拉取请求并为此添加一些Linux版本!