Как определить, является ли браузер Firefox или Chrome? В основном я хотел, чтобы приложение запускалось только в определенном браузере, который регистрируется пользователем. Для этого сценария я хочу, чтобы мое приложение указывало браузер
для которого пользователь активирует это приложение для запуска.
Я использую Java-сервлет.
Я попробовал локальное хранилище браузера, но его можно удалить без контроля из моего приложения, если он может использоваться, пожалуйста, дайте мне знать, как я могу управлять всем этим в случае localstorage.
[ yes я can get a browser info but я want to identify machine with a browser from where my application user can use otherwise я need to restrict that user from acessing my application
]
Пожалуйста, порекомендуйте.
Большое спасибо.
Извлеките свойства пользовательского агента из заголовка 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];
}
httpRequest.getHeader("user-agent")
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.
}
}
application login
? Это логин, введенный пользователем в form input
?
Вот код:
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());
Или использовать может легко получить deatils браузера из кода javascript, как это: Browser CodeName = navigator.appCodeName Browser Name = navigator.appName Browser Version = navigator.appVersion
UserAgent
?
Пожалуйста, используйте приведенный ниже код в сервлете, чтобы узнать, какой браузер поражает ваш сервлет.
String userAgent = request.getHeader("user-agent");