浏览器发送"Dalvik"作为用户代理

Aus*_*n N 11 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.1847.114 Mobile Safari/537.36"

"Dalvik/1.6.0 (Linux; U; Android 4.2.2; C2004 Build/15.2.A.2.5)"
Run Code Online (Sandbox Code Playgroud)

即使是一些奇怪的东西,我们要么重置或丢弃.

有没有什么办法可以进一步调试这个以获取更多信息并更好地了解这个问题?

在旧的Android手机或ios或Windows手机中没有出现此问题.

**在具有KitKat/JellyBean OS的高端Android手机中发现了问题

Mic*_*evy 9

我刚刚注意到背靠背请求的类似用户代理模式.就我而言,第一个请求(使用Mozilla用户代理)来自嵌入式Web视图.请求的URL是下载PDF文件.我发现Android webview无法处理PDF内容类型,因此它通过intent启动PDF查看器.但是,在启动此查看器之前,Android会对同一URL发出第二个请求.在第二个请求中,呈现了Dalvik用户代理.

之前已经讨论了两个请求异常,请参阅webview已经获取文件后调用setDownloadListener onDownloadStart吗?WebView - 没有请求两次无法下载文件?.

在我的第一个请求中,从webview中,我看到了用户代理:

Mozilla/5.0(Linux; U; Android 4.2.2; en-us; Galaxy Nexus Build/JDQ39)AppleWebKit/534.30(KHTML,类似Gecko)版本/ 4.0 Mobile Safari/534.30

第二个请求(我假设来自Android OS,而不是webview)显示用户代理:

Dalvik/1.6.0(Linux; U; Android 4.2.2; Galaxy Nexus Build/JDQ39)


Chr*_*row 6

  • Dalvik是运行单个应用程序的Android VM。
  • 您所看到的是来自运行在Android(在Dalvik中运行)的浏览器的请求标头。
  • 因此,有两个UA(用户代理)字符串,一个用于浏览器,一个用于运行它的VM。