2015-10-17 58 views
0

我想對訪問者正在使用的設備或操作系統做出最佳估計。從瀏覽器代理字符串中檢測設備或操作系統

唯一的類別我感興趣的區別,分別是:

  • 的Android
  • 的iOS
  • 的Windows Phone
  • 桌面(在Windows/OS X/Linux)的
  • 其他/未知/未被發現(如搜索蜘蛛或其他)

I t不是安全相關的,所以我不介意代理字符串欺騙的風險。只是爲了讓訪問者爲他們的特定設備提供一個直接的建議。

我碰巧在PHP中工作,但任何語言都可以,我假設它只是歸結爲一堆正則表達式與瀏覽器代理字符串匹配。

回答

0

是的,這就是它歸結爲什麼。在我以前的工作中,我有一個用於分析Apache日誌文件的perl腳本,其中有超過1000行分析用戶代理字符串,儘管腳本比您需要的更詳細。儘管您可能想要查看用戶代理字符串中顯示的內容,例如在http://www.useragentstring.com/pages/All/上,但對於您所需要的/ iPhone | iPad /和/ Android /應該執行的簡單操作。

+0

謝謝,但該頁面上的列表似乎集中在* browser *的類型,而我只需要操作系統。知道它的Firefox並沒有多大幫助,因爲它仍然可以是Android,iOS,Linux等。特別是從Windows Phone告訴Windows(桌面)似乎很棘手?還有一些瀏覽器包含「蘋果」,「Linux」和「Android」全都在一個代理字符串中,不知道如何處理這些代碼? – RocketNuts

+0

是的,我指出你的列表來演示各種用戶代理字符串。桌面Windows與移動Windows很棘手,您需要測試/ Windows(電話|手機| CE)/然後只是普通/ Windows /的順序。有很多包含「Apple」的字符串,因爲它們使用Apple的WebKit,所以請改爲查找/ Mac OS X /。另外,如果將用戶代理字符串分割爲「;」,則第三個字段通常(但不總是,例如最近的Safaris)包含操作系統。不幸的是沒有一個完美的解決方案。 – blm

相關問題