2014-05-22 59 views
9

Android瀏覽器發送Dalvik作爲請求標頭中的用戶代理。瀏覽器發送「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)" 

即使是一些奇怪的是,被草簽我們要麼重置或刪除的cookie。

有沒有什麼辦法可以進一步調試以獲取更多信息並在這個問題上獲得更好的觀點?

這個問題是在舊的Android手機或iOS或Windows手機沒有看到。

**發行中高端注意到有奇巧/豆形軟糖OS

+0

聽起來像是從'System.getProperty()'拉出VM版本信息。不知道爲什麼它會將它發送到Web服務器,或者如果它運行的是KitKat,會聲稱擁有Android 4.2.2。 – fadden

+0

是的,它的奇怪,我們仍然沒有找到任何解決方案? –

+0

我還注意到一個奇怪的行爲,當我啓用** McAfee殺毒**發送這個頭,但是當我禁用它時,這不僅僅是一個假設,但不完全是真的...... !!! @fadden –

回答

7

的Android手機我只注意到用戶代理的背靠背請求了類似的模式。就我而言,第一個請求(使用Mozilla用戶代理)來自嵌入式web視圖。請求的URL是下載PDF文件。我發現Android webview無法處理PDF內容類型,所以它通過意圖啓動PDF查看器。但是,在啓動此查看器之前,Android會對同一個網址發出第二次請求。在第二個請求中,呈現了Dalvik用戶代理。

這兩個請求的奇怪之處已經討論過了,詳見Is setDownloadListener onDownloadStart called after the webview already Gets the file?WebView - can't download file without requesting it twice?

在我的第一個要求,從web視圖,我看到的用戶代理:

的Mozilla/5.0(Linux的; U;安卓4.2.2; EN-US; Galaxy Nexus的 編譯/ JDQ39)爲AppleWebKit /534.30(KHTML,例如Gecko)版本/ 4.0移動 Safari瀏覽器/ 534.30

第二請求(我假定是從Android OS,而不是web視圖)示出了用戶代理:

Dalvik/1.6.0(Linux; U; Android 4.2.2; Galaxy Nexus的構建/ JDQ39)

2
  • 的Dalvik是Android虛擬機在各個應用程序運行。
  • 你所看到的是來自運行在Android(在Dalvik中運行)的瀏覽器的請求頭。
  • 因此,兩個UA(用戶代理)字符串,一個用於瀏覽器,一個用於其運行的VM。
相關問題