http-headers - chrome 表示 Mozilla/5.0(Macintosh;Intel Mac OS X 10_10_5)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/54.0.2840.71 Safari/537.36

标签 http-headers user-agent

我正在尝试识别并研究哪些用户代理正在向我们的应用程序发送请求。

当我在 Chrome 中执行请求时,我看到它说

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"

当我从 safari 执行它时,它说

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50

当你从 mozilla 执行它时,它会说

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:49.0) Gecko/20100101 Firefox/49.0

为什么所有请求都显示“Mozilla/5.0”,特别是对于 chrome,它列出了所有 mozilla、chrome 和 safari。

谁能解释一下为什么会出现这种情况?谢谢。

最佳答案

用户代理字符串很困惑,编写代码来从中获取准确信息非常困难。 (有关原因的详细历史记录,请参阅 this link)。

如果您只是想收集统计信息,请尝试将 Google Analytics 添加到您的前端,或使用专门用于在后端解析用户代理字符串的库,例如 MobileDetect对于 PHP。

如果您想根据浏览器支持的功能执行不同的操作,请尝试检测对该功能的支持而不是浏览器版本。 Modernizr非常适合这个。

关于http-headers - chrome 表示 Mozilla/5.0(Macintosh;Intel Mac OS X 10_10_5)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/54.0.2840.71 Safari/537.36,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40238387/

相关文章:

http-headers - http web 请求内容类型 null

javascript - PhantomJS 返回空主体

css - 识别访问网站中隐藏链接的用户

javascript - 用户代理检测包含js文件

java - 寻找 Java 用户代理字符串解析器

internet-explorer - 如何确定 Internet Explorer 是否存在

javascript - 如何使我的 Electron 应用程序表现得像移动设备

python - 如何获取网络上文件的真实 URL。 (Python)

Android : cz. msebera.android.httpclient.Header 未导入

javascript - 如何在不使用自定义服务器的情况下在 Next.js 中设置自定义 HTTP 响应 header ?