我正在使用Java 6與GWT 2.4。如何獲取客戶端機器的操作系統的用戶友好名稱?
我想使用Java或GWT或JavaScript來獲取客戶端的操作系統的用戶友好名稱。
我該怎麼做?
我試過使用System.getProperty("os.name")
,但是這給了我運行WAR的機器。我想要客戶端(誰在訪問我的WAR)機器的相同。
我也試過使用httpServletRequest.getHeader("User-Agent")
。這給了我像字符串像'Mozilla/5.0(Windows NT 6.1; WOW64; rv:21.0)壁虎/ 20100101 Firefox/21.0'。
現在這裏Windows NT 6.1是客戶端計算機操作系統的技術名稱。 正如你可以看到here,它被映射到兩個用戶友好的Windows名稱,即Windows 7 & Windows Server 2008 R2。
我想客戶機操作系統的直接名稱,可以Windows 7的或的Windows Server 2008 R2。
我該如何做到這一點?
@Jeffrey暴露,我已經說過,我已經嘗試過在該職位的答案給出的解決方案。但這對我來說也是不夠的。那麼你如何將它標記爲重複? – RAS
因爲它本質上是同一個問題。另一篇文章說你最好的辦法是嘗試解析User-Agent字符串。一旦找出如何從字符串中提取技術名稱,將它們映射到用戶友好名稱應該相當簡單。 – Jeffrey
@Jeffrey但這是我的主要問題。解析用戶代理字符串不是問題。獲取其實際名稱是主要問題。此外,我也要求GWT提供答案。如果在GWT中有一些解決方案,那也是可以接受的。該帖子不包括GWT。所以我認爲你應該重新考慮它。 – RAS