Android “浏览器发送”;“达尔维克”;作为用户代理
Android浏览器正在请求头中将Dalvik作为用户代理发送 我目前正在一个移动网站上工作,该网站有一个简单的登录页面,可以验证用户名和密码,然后授权用户配置文件 但是当我检查请求头时,我看到了一些不寻常的情况,同一台设备上有两个用户代理 以下是来自同一设备的用户代理:Android “浏览器发送”;“达尔维克”;作为用户代理,android,dalvik,mobile-browser,Android,Dalvik,Mobile Browser,Android浏览器正在请求头中将Dalvik作为用户代理发送 我目前正在一个移动网站上工作,该网站有一个简单的登录页面,可以验证用户名和密码,然后授权用户配置文件 但是当我检查请求头时,我看到了一些不寻常的情况,同一台设备上有两个用户代理 以下是来自同一设备的用户代理: "Mozilla/5.0 (Linux; Android 4.1.2; C5303 Build/12.0.A.1.257) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.
"Mozilla/5.0 (Linux; Android 4.1.2; C5303 Build/12.0.A.1.257) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"
"Dalvik/1.6.0 (Linux; U; Android 4.2.2; C2004 Build/15.2.A.2.5)"
即使是一些奇怪的事情,我们也会重新设置或删除首字母为的cookies
有没有什么方法可以让我进一步调试它以获取更多信息并更好地了解这个问题
这个问题在旧的安卓手机、ios或windows手机中看不到
**使用KitKat/JellyBean操作系统的高端android手机中发现的问题
我刚刚注意到一种类似的背靠背请求的用户代理模式。在我的例子中,第一个请求(使用Mozilla用户代理)来自嵌入式webview。请求的URL用于下载PDF文件。我发现Android webview无法处理PDF内容类型,因此它通过intent启动PDF查看器。然而,在这个查看器启动之前,Android会再次请求相同的URL。在第二个请求中,介绍了Dalvik用户代理 这两个请求陌生度之前已经讨论过,请参见和 在我的第一个请求中,从webview,我看到用户代理: Mozilla/5.0(Linux;U;Android 4.2.2;en-us;Galaxy Nexus Build/JDQ39)AppleWebKit/534.30(KHTML,类似Gecko)Version/4.0 Mobile Safari/534.30 第二个请求(我假设来自Android操作系统,而不是webview)显示用户代理: Dalvik/1.6.0(Linux;U;Android 4.2.2;Galaxy Nexus Build/JDQ39)
- Dalvik是安卓虚拟机,在其中运行单个应用程序
- 您看到的是运行在Android(在Dalvik中运行)上的浏览器的请求头
- 因此有两个UA(用户代理)字符串,一个用于浏览器,一个用于运行它的VM
另请参见:听起来好像有什么东西正在将VM版本信息从
System.getProperty()中拉出。不知道为什么它会将其发送到web服务器,或者如果它运行KitKat,它会声称拥有Android 4.2.2。是的,这很奇怪,我们仍然没有找到任何解决方案???我还注意到一个奇怪的行为,当我在其上启用McAfee antivirus发送此标头时,但当我禁用它时,这难道不是一个假设,但不是完全正确的@Fadden非常奇怪,但当我们禁用McAfee时,它会工作,我不知道这是怎么发生的。。。。。!您确定这两个都是正常的web请求吗?如果一些调用是从javascript调用的,那么它们可能会使用与浏览器本身不同的http引擎(版本)。上面的Michael Levy正确地解释说,当应用程序将意图传递给另一个应用程序,并且需要下载文件时,会触发此UA。在Android上,一个浏览器请求不等于两个HTTP请求。