【问题标题】:How to get the domain name of client accessing spring boot application?如何获取客户端访问spring boot应用的域名?
【发布时间】:2018-10-22 05:17:04
【问题描述】:

我想获取正在访问我的应用程序的域名。 我尝试使用 :getHostName(),getServerName()... 都给出了服务器的域,而不是 cient,我想获取客户端的域名..

【问题讨论】:

  • 你为什么想知道?你有没有通过 websecurityConfiguration 绑定你的客户端请求?
  • 你可以在你的控制器方法中使用request.getHeader("User-Agent");添加, HttpServletRequest request,当我从邮递员发送请求时,我得到了PostmanRuntime/7.3.0,这是你要找的吗?
  • 如果你从浏览器点击用户,Mozilla/<version> (Macintosh; Intel Mac OS X <version>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<version> Safari/<version>
  • 感谢您的快速响应,但我仍然在同一页面上。我必须 2 个微服务; A 和 B。所有来自 B 的请求,我想验证它是否来自 A 域。

标签: java spring spring-boot servlets


【解决方案1】:

您可以在控制器的方法中注入 HttpServletRequest 并使用

@GetMapping("/getInfo")
public void getRemoteHost(HttpServletRequest request,...) {
     System.out.println("=========> "+request.getRemoteAddr());
}

【讨论】:

  • 这只是答案的一半。 OP 想要该域,因此除此之外他至少需要一个最新的 IP -> 子网查找服务。
猜你喜欢
  • 2020-03-22
  • 2012-08-31
  • 2017-08-28
  • 2021-02-11
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多