1

如何识别浏览器是 Firefox 还是 Chrome?基本上,我希望应用程序仅在用户注册的特定浏览器上运行。对于这种情况,我希望我的应用程序能够识别用户正在使用的浏览器,以了解是否允许应用程序运行。

我正在使用 java servlet。

我尝试了浏览器的本地存储,但可以在我的应用程序无法控制的情况下将其删除。如果可以使用本地存储,请告诉我如何使用。

(是的,我可以获得浏览器信息,但我想通过浏览器识别特定机器,允许我的应用程序用户运行应用程序;否则,我需要限制该用户访问我的应用程序。)

4

5 回答 5

2
httpRequest.getHeader("user-agent")
于 2013-10-21T07:48:57.443 回答
1

请在 servlet 中使用以下代码来了解哪个浏览器正在访问您的 servlet。

String userAgent = request.getHeader("user-agent");
于 2013-10-21T07:52:13.100 回答
1

从 HTTP 请求标头中获取用户代理属性。

  String userAgent=req.getHeader("user-agent");
  String browserName = "";
  String  browserVer = "";
  if(userAgent.contains("Chrome")){ //checking if Chrome
        String substring=userAgent.substring(userAgent.indexOf("Chrome")).split(" ")[0];
        browserName=substring.split("/")[0];
        browserVer=substring.split("/")[1];
    }
    else if(userAgent.contains("Firefox")){  //Checking if Firefox
        String substring=userAgent.substring(userAgent.indexOf("Firefox")).split(" ")[0];
        browserName=substring.split("/")[0];
        browserVer=substring.split("/")[1];
    }
于 2013-10-21T07:50:51.577 回答
1

这是代码:

String userAgent = req.getHeader("user-agent");
UserAgent ua = UserAgent.parseUserAgentString(userAgent);
Version browserVersion = ua.getBrowserVersion();
String browserName = ua.getBrowser().toString();
int majVersion = Integer.parseInt(browserVersion.getMajorVersion());

或者使用可以很容易地从这样的javascript代码中获取浏览器deatils - Browser CodeName = navigator.appCodeName Browser Name = navigator.appName Browser Version = navigator.appVersion

于 2013-10-21T07:56:15.440 回答
1
public class MyServlet extends HttpServlet
{  
   @Override
   public void doGet(final HttpServletRequest aRequest,   
                     final HttpServletResponse aResponse) throws ServletException, IOException
   {  
       final String agent = aRequest.getHeader("user-agent");
       // agent will looks like  
       // Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0
       // Mozilla/2.0 (compatible; MSIE 6.0; Windows NT 5.2)
       // Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
       // etc.
   }
}
于 2013-10-21T07:58:25.497 回答