gpt4 book ai didi

c# - .NET 请求浏览器将 Opera 识别为 Chrome

转载 作者:行者123 更新时间:2023-11-30 17:41:13 24 4
gpt4 key购买 nike

所以在我的代码中我有:

return Request.Browser.Browser + " " + Request.Browser.MajorVersion

当我使用 Opera 时,我使用的是版本 21,现在是最新版本 33,但我的代码总是返回 Chrome。它为 Opera 21 返回“Chrome 34”,为 Opera 33 返回“Chrome 46”。

为什么会发生这种情况,我该如何解决?

最佳答案

Chrome 和 Opera 的用户代理字符串几乎完全相同。只有结局不同。

我使用的是 Opera 版本 33.0.1990.58,Chrome 版本是 46.0.2490.86。

这是我从每个人那里得到的用户代理:

Chrome 46 = Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/46.0.2490.86 Safari/537.36

Opera 33 = Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/46.0.2490.80 Safari/537.36 OPR/33.0.1990.58

在 Microsoft.NET/Framework/YOURVERSION/Config/Browsers 中,您可以看到显示 .NET 如何解析代理字符串的 XML。 chrome.browser 标识为: 在 .NET 4.0 中。

在同一目录中,Opera.browser 标识如下所示: /"/>.

所以 Opera 将自己显示为 Chrome,因为 .NET 不知道更好,因为 Opera 用户代理不适合 .NET 正在寻找的正则表达式。

关于c# - .NET 请求浏览器将 Opera 识别为 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33371439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com