我想在 bash 中获取 Firefox 的用户代理字符串代理,然后在脚本中使用它。它必须即时提取,而不是手动进入about:support
或复制它,以便脚本在升级 Firefox 后使用新的脚本。我想到了三种方法:
- 从 Firefox 的文件中获取它。然而,据我所知,它没有存储在一个地方的任何地方。我尝试解析
/usr/lib/firefox/libxul.so
但没有成功。 - 访问“我的用户代理是什么”网站之一并从那里获取它。然而,Firefox 似乎无法从 bash 转储页面的 HTML,所以我也不能这样做。
- 自己构建字符串。有些部分在这台机器上永远不会改变,所以我只需要填充那些会改变的部分:
Mozilla/5.0 (X11; Linux x86_64; rv:[geckoversion]) Gecko/20100101 Firefox/[firefoxversion])
我可以通过运行找到 firefox 版本firefox --version
,但真正的问题是我找不到 gecko 版本。
MDN 网络文档声称“在最近的浏览器中,geckoversion
与”相同,firefoxversion
但这里似乎并非如此,因为我的 Firefox 用户代理有rv:109.0
和Firefox/118.0
。
所以我的问题是:如何通过以下任一方式有效获取当前 Firefox 版本的用户代理:
- 如果可能的话,始终从 Firefox 的文件中提取它
- 或者让 Firefox 转储包含用户代理的 HTML 页面
- 或者找出 Gecko 版本,以便我可以自己完成用户代理
提前致谢! (*≧ω≤*)