如何从 ContainerRequestContext JERSEY 2.1 获取 IP?

2022-09-04 02:38:13

我的代码是这样的:

public void filter(ContainerRequestContext request) throws IOException 
  {
   // can I get Ip from request?????

 }

如何从中获取 IP 地址?request


答案 1

根据这个JIRA票证,基于这个讨论,他们添加了对注入过滤器的支持,上面的JIRA中的代码片段看起来像这样:HttpServletRequest

public class MyRequestFilter implements ContainerRequestFilter {

  @Context
  private HttpServletRequest servletRequest;

然后,您可以使用API来获取远程IP,请参阅此处的完整Javadoc,摘录:HttpServletRequest

getRemoteAddr

java.lang.String getRemoteAddr()

返回发送请求的客户端或最后一个代理的互联网协议 (IP) 地址。对于 HTTP servlet,与 CGI 变量的值REMOTE_ADDR相同。

返回:

一个字符串,包含发送请求的客户端的 IP 地址


答案 2