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

34,653

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.
Share:
34,653
Ami
Author by

Ami

Updated on July 05, 2022

Comments

  • Ami
    Ami almost 2 years

    I have written Rest web service in my project.The web service call may come from different machine.so i need to find out the IP address through REST webservice.

    From this link request.getRemoteAddr() to use this.

    But i cant use getRemoteAddr(). Because my request and response are xml format.

    I have used post method in REST service.Tomcat server.I have send request as xml format.

    How can i get the IP address?

  • TheWhiteRabbit
    TheWhiteRabbit over 11 years
    your request data (xml) is always wrapped in HTTP Request
  • Ami
    Ami over 11 years
    I cant get the getRemoteAddr() through xml request object.
  • Aakash Patel
    Aakash Patel almost 2 years
    This will not give me my public ip if i am hitting from my own system