当前位置: 首页 > 面试题库 >

解析HTTP User-Agent字符串

叶琦
2023-03-14
问题内容

在Python中解析User-Agent字符串以可靠检测的最佳方法是什么

  1. 浏览器
  2. 浏览器版本
  3. 操作系统

或任何执行此操作的帮助程序库


问题答案:

我最终决定写自己的书,并对结果感到满意。请随时使用/修改/发送补丁等。

在这里:http://pypi.python.org/pypi/httpagentparser

用法示例:

>>> import httpagentparser
>>> s = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko) \
        Chrome/5.0.307.11 Safari/532.9"
>>> print(httpagentparser.simple_detect(s))
('Linux', 'Chrome 5.0.307.11')
>>> print(httpagentparser.detect(s))
{'os': {'name': 'Linux'},
 'browser': {'version': '5.0.307.11', 'name': 'Chrome'}}

>>> s = "Mozilla/5.0 (Linux; U; Android 2.3.5; en-in; HTC_DesireS_S510e Build/GRJ90) \
        AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
>>> print(httpagentparser.simple_detect(s))
('Android Linux 2.3.5', 'Safari 4.0')
>>> print(httpagentparser.detect(s))
{'dist': {'version': '2.3.5', 'name': 'Android'},
'os': {'name': 'Linux'},
'browser': {'version': '4.0', 'name': 'Safari'}}


 类似资料:
  • Milo Yip 2016/9/27 本文是《从零开始的 JSON 库教程》的第三个单元解答编。解答代码位于 json-tutorial/tutorial03_answer。 1. 访问的单元测试 在编写单元测试时,我们故意先把值设为字符串,那么做可以测试设置其他类型时,有没有调用 lept_free() 去释放内存。 static void test_access_boolean() {

  • 本文向大家介绍java 解析user-agent 信息,包括了java 解析user-agent 信息的使用技巧和注意事项,需要的朋友参考一下 解析http user-agent信息,使用uasparser-0.6.1.jar和jregex-1.2_01.jar两个包 运行结果: User-Agent信息通过浏览器自带工具可查看: 如下使用的是chrome浏览器 程序中static块,在初始化的时

  • 问题内容: 我有以下Json字符串 我正在尝试解析它并打印出每个名称和值-最简单的方法是什么?我尝试了jQuery.parseJSON但我不知道如何使用它 示例代码会很棒 问题答案: 结果是: jsFiddle示例:http://jsfiddle.net/bradchristie/XtzjZ/1/

  • 主要内容:Jsoup 解析字符串 语法,Jsoup 解析字符串 说明,Jsoup 解析字符串 示例以下示例将展示将 HTML 字符串解析为 Document 对象。 Jsoup 解析字符串 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 Jsoup 解析字符串 说明 parse(String html) 方法将输入的 HTML 解析为一个新的 Document。该文档对象可用于遍历和获取 htm

  • 问题内容: 将sql字符串解析成单独的组件的好方法是什么。我尝试过使用正则表达式,但是无法使其正常工作。 例如说: 将创建一个包含所有组件的数组 等等… 谢谢 问题答案: 我会选择一个可以与您的语言集成的sql解析器:不要重新发明轮子。 我没有特别推荐一个人,但是我敢肯定,您会找到一个可以满足您需求的人。 参见相关文章:PHP MySQL SQL解析器(INSERT和UPDATE)

  • 问题内容: 我在MSSQL中有一个很长的字符串,我需要I值。 I代表发票,A代表金额,D代表日期 I = 940; A = 29.5; D = 20090901 | I = 941; A = 62.54; D = 20090910 | I = 942; A = 58.99; D = 20091005 | I = 954; A = 93.45; D = 20091201 | I = 944; A =