本文共 1953 字,大约阅读时间需要 6 分钟。
JavaWeb中通过从request请求中获取浏览器、系统信息、终端ip等信息
一、使用UserAgentUtils.jar包
UserAgentUtils-1.20.jar下载地址:
UserAgentUtils-1.20源码source下载:
二、使用UserAgentUtils来获取客户端请求的信息:浏览器类型、操作系统类型、客户端IP
1、pom.xml 设置:
<!-- 请求头参数分析包 --> <dependency> <groupId>eu.bitwalker</groupId> <artifactId>UserAgentUtils</artifactId> <version>1.20</version> </dependency>
2、Java代码:
/** * * @Description TODO * @param request * @return SearchLog * @Date */ private SearchLog initSearchLog(HttpServletRequest request) { // userAgent中有很多获取请求信息的方法 UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent")); SearchLog searchLog = new SearchLog(); searchLog.setSearchExpression(getParam("searchExpression", request)); searchLog.setUserId(SessionUtil.getUserId()); searchLog.setUsername(SessionUtil.getCurrentUserName()); // searchLog.setSearchTime(new DateTime().toString("yyyy-MM-dd HH:mm:ss")); searchLog.setSearchTime(new Date());
// 获取客户端请求的浏览器类型 searchLog.setBrowserType(userAgent.getBrowser().toString()); String s = request.getParameter("searchChannel"); searchLog.setSearchChannel(request.getParameter("searchChannel")); // 获得终端设备的IP地址 searchLog.setTerminalIp(request.getRemoteAddr()); return searchLog; }
===============================================================
request.getMethod():获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型 request.getRequestURI():获得发出请求字符串的客户端地址 request.getServletPath():获得客户端所请求的脚本文件的文件路径 request.getServerName():获得服务器的名字 request.getServerPort():获得服务器的端口号 request.getRemoteAddr():获得客户端的IP地址 request.getRemoteHost():获得客户端电脑的名字,件=b网V@V中2UZQXdL管n育=?o8g1Spm;理@c)A8网B垠4G+)j网P育若失败,则返回客户端电脑的IP地址 request.getProtocol(): request.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例 request.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例
(陆续完善中~~~)
---------------------------------------------------------------------------------------------------------------------------------------
感谢阅读,你若觉得文章对你有帮助,打赏一下我会更有动力哦~谢谢~