解析用户代理操作系统版本为空



对于下面的用户代理,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 

从此处解析用户代理。

该库的主要源文件非常易于阅读 - 它看起来对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)Debian7.0 (3.4.2-2.1) Epiphany3.4.2部分,它们告诉你"这是一个基于 Debian 7.0 的 Linux x86_64发行版,内核版本为 3.4.2-2.1。

您可以随时创建一个拉取请求并向其添加一些 Linux 版本!

最新更新