How to get Remote / Client IP address using RESTful web service in java?

旧街凉风 提交于 2019-11-29 01:51:19

Assuming you are using JAX-RS:

@GET
Produces("application/xlm")
public String getData(@Context HttpServletRequest request){
   String ip = request.getRemoteAddr();
}

The @Context annotation allows you to inject instances of

  • javax.ws.rs.core.HttpHeaders,
  • javax.ws.rs.core.UriInfo,
  • javax.ws.rs.core.Request,
  • javax.servlet.HttpServletRequest,
  • javax.servlet.HttpServletResponse,
  • javax.servlet.ServletConfig,
  • javax.servlet.ServletContext, and
  • javax.ws.rs.core.SecurityContext objects.

Irrespective of the format (or content type) of your request (in this case xml) The IP address is supplied with your request through which the xml payload (request) is submitted. Hence, checking with your Request is the best way.

Even if your request is in xml/json format, you will get Remote/client machine address using request.getRemoteAddr(); because IP Address lies in HTTP Request header.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!