如何在Spring Boot中跟踪唯一的Web请求?

时间:2016-03-14 04:17:38

标签: java spring spring-mvc spring-boot

我有一个Spring Boot(MVC)java服务器。如何跟踪每个唯一的Web请求?例如,我想知道以下内容。

  1. 如何获取Web请求的用户代理(浏览器类型,移动或桌面等设备)
  2. 如何获取Web请求的IP地址或位置?
  3. 如何计算Web请求的数量?例如,我想以同步的方式计算请求数。

1 个答案:

答案 0 :(得分:7)

大部分内容将由HttpServletRequest使用标题提供。

1。如何获取Web请求的用户代理

用户代理?完全正确!

String userAgentInfo = request.getHeader("User-Agent");

还有API作为工具来检查信息。

2。如何获取Web请求的IP地址或位置?

虽然我无法指出位置信息,但我们可以使用不同的标题获取IP地址信息。

  • X - 转发,对于
  • 代理客户IP
  • WL-代理客户端IP
  • HTTP_X_FORWARDED_FOR
  • HTTP_X_FORWARDED
  • HTTP_X_CLUSTER_CLIENT_IP
  • HTTP_CLIENT_IP
  • HTTP_FORWARDED_FOR
  • HTTP_FORWARDED
  • HTTP_VIA
  • REMOTE_ADDR

根据请求类型,这些可以为您提供IP信息。

3。如何计算Web请求的数量?

旧式过滤器创建将帮助您跟踪点击次数。

This可以帮助您更好。

如果Spring-boot是捕获,则实现在获取值时会发生一些变化,

在控制器中,使用@RequestHeader(value="User-Agent")可以提供帮助。同样对其他人也是如此。