我们的NodeJS Express网络应用程序有很多使用Opera mini的用户,因为代理浏览器可以帮助他们保存数据,并且因为他们中的很多人使用功能手机 .
我的查询是这样的:
当我们试图拦截Opera Mini的请求时, user-agent-string
是 Mozilla/5.0 (Linux; U; Android 5.1.1; en-US; ONE A2003 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 OPR/15.0.2125.101257 Mobile Safari/537.36
Opera的文档说here
Opera Mini继续在服务器上使用Presto,其UA字符串不变;它包含字符串“Opera Mini” .
Headers 中也有 x-requested-with: "com.opera.mini.native"
.
我的问题是,为什么 Mozilla
user-agent
字符串显示而不是 opera-mini
?我尝试了 Extreme
以及 High
储蓄模式 . user-agent
是完全相同的 .
我错过了什么?
2 回答
默认情况下,Opera Mini在Android上禁用压缩模式,然后使用Wi-Fi并渲染为本机模式(默认渲染引擎),几乎与WebView类似 .
Opera Mini UA仅在压缩模式下包含Opera Mini .
如果我使用Opera Mini的极端数据保存模式访问我们的站点,我会在正常模式下访问时得到一个不同的UA字符串 .
正常模式:
Mozilla / 5.0(Linux; U; Android 4.1.1; Galaxy Nexus Build / JRO03C)AppleWebKit / 534.30(KHTML,类似Gecko)版本/ 4.0 Mobile Safari / 534.30 OPR / 22.0.2254.113472
极端模式:
Opera / 9.80(Android; Opera Mini / 22.0.2254 / 60.271; U; en)Presto / 2.12.423 Version / 12.16
第一个UA字符串中唯一的标识符是“OPR” .