37

你如何解析你的用户代理字符串?我正在寻找:

  • 浏览器
  • 浏览器版本
  • 操作系统
  • 操作系统版本

来自用户代理字符串。我的应用程序是用 perl 编写的,之前使用的是HTTP::BrowserDetect。它有点过时,不再维护。(编辑:它已经更新了。)我绝不会使用 perl 进行实际查找。

我得出的结论是自动解析是一个失败的原因。我正在考虑编写一个 crud 类型的应用程序来向我显示未分类的 UA 列表并手动使它们保持最新。

这样的资源是否已经存在,我可以利用?如果我可以通过 HTTP 调用来查找用户代理信息,那就太好了。

谢谢!

4

10 回答 10

22

useragentstring.com拥有其用户代理字符串的浏览器和操作系统信息。还有一个“分析”框可以提交您自己的字符串。我不知道自动连接有多么容易,但它似乎有你想要的那种信息。

来自原始帖子的更新(不想窃取您的投票):

我从http://useragentstring.com/的作者那里得到了这个:

我有一个简单的 API,但我要重新编码我的很多网站,所以它可能会在不久的将来发生变化。如果您链接到我的网站,您可以在表单字段或查询字符串中发送一个名为“uas”的用户代理字符串:

http://www.useragentstring.com/?uas=Opera/9.70%20(Linux%20i686%20;%20U;%20en-us)%20Presto/2.2.0

这将自动解析字符串。如果你添加 &getText=all

http://www.useragentstring.com/?uas=Opera/9.70%20(Linux%20i686%20;%20U;%20en-us)%20Presto/2.2.0&getText=all

您将获得一个带有键值对的文本文件,例如 agent_type=Browser;agent_name=Opera;agent_version=9.70...

于 2009-09-22T00:40:02.387 回答
5

浏览器功能项目

browscap.ini 文件是一个数据库,它提供了许多关于浏览器及其功能的详细信息,例如名称、版本、Javascript 支持等。

browscap.ini,它提供了许多关于浏览器及其功能的详细信息,例如名称、版本、Javascript 支持等。

PHP 的原生 get_browser() 函数解析该文件并为您提供有关每个浏览器详细信息的完整信息集,但它需要在标记为 PHP_INI_SYSTEM 的 php.ini browscap 指令中指定 browscap.ini 文件的路径。

http://browscap.org/

于 2014-06-06T05:47:58.890 回答
4

是的。http://www.user-agents.org/

于 2009-09-21T23:20:41.330 回答
3

我正在寻找可搜索的 UA 列表。user-agents.org 是可搜索的,但没有足够的数据。我找到了http://www.botsvsbrowsers.com/。它充满了广告,但右侧有一个搜索栏,正是我正在寻找的。

于 2012-08-28T19:52:42.750 回答
3

该线程已有几年历史,但这里有一个用于搜索用户代理的新资源:ua.theafh.net,拥有 540 万个代理。例如,您可以过滤浏览器并使用通配符搜索:http ://ua.theafh.net/list.php?s=%22%2A%22&include=yes&class=abr&do=desc - 也可以下载搜索结果作为 CSV

于 2016-01-08T14:58:40.767 回答
2

我发现这个 JSON 编码的蜘蛛/机器人列表https://github.com/monperrus/crawler-user-agents自 2017 年起似乎定期更新。

于 2017-09-03T16:12:01.283 回答
1

2017 年最新资源:

https://techblog.willshouse.com/2012/01/03/most-common-user-agents/

他们还提供 TXT 格式的列表。

于 2017-03-17T01:59:55.443 回答
1

我们有一个庞大的用户代理数据库,按软件、操作系统、平台、硬件类型、软件类型和渲染引擎组织:

https://developers.whatismybrowser.com/useragents/explore/

所有其他用户代理列表在使浏览相关用户代理变得容易方面做得相当平均,所以当我构建这个列表时,让用户更容易使用是它设计背后的主要优先事项之一。

您还可以注册免费的 API,这将使您能够访问我们的用户代理解析器。

https://developers.whatismybrowser.com/api/

于 2017-08-09T11:21:04.167 回答
0

您可以使用http://botopedia.org。它还提供有助于防止欺骗的 IP 验证。

于 2013-10-06T12:10:18.713 回答
0

自从您发布问题以来,HTTP::BrowserDetect已经更新。安装后,您可以使用它来解析用户代理字符串的文本文件:

cat user_agent_strings.txt | perl -nE 'use HTTP::BrowserDetect; $ua =  HTTP::BrowserDetect->new($_); say $ua->browser_string || "unknown";'
于 2015-12-28T11:11:30.483 回答