使用HttpServletRequest获取请求发送方的URL

dat*_*ser 13 java dns servlets

如何使用HttpServletRequest获取源域?源域是请求者的域.

谢谢.

ada*_*shr 29

你可以做任何一件事

// gets client (browser)'s hostname
String host = request.getRemoteHost(); 
Run Code Online (Sandbox Code Playgroud)

要么

// get the server's domain name.
String domain = new URL(request.getRequestURL().toString()).getHost(); 
Run Code Online (Sandbox Code Playgroud)

  • 仅当Java直接从浏览器接收请求时,客户端主机名才有效.如果Java落后于类似F5 BIG-IP的东西,则应使用request.getHeader("X-FORWARDED-FOR")或使用客户机主机名传入任何请求标头以获取实际的客户机主机名.request.getRemoteHost()将只提供负载均衡器的IP或域名,因为这是将请求发送到Java的. (7认同)
  • `getRemoteHost()`返回客户端(或代理)的主机. (5认同)