I am using Tomcat server with Java web application. I need client public IP address from request. But i am unable to get that, i used request.getHeader("x-forwarded-for") request.getRemoteAddr() methods but I get client machine Local IP address.
Asked
Active
Viewed 3,972 times
2 Answers
3
You are running your server in a local network. If its in the wild request.getRemoteAddr()
should do its job.
If you really need even in a local network your public IP which could all be the same in your local network since its behind a router or something that uses NAT it dosen't make much sense in my eyes. Even though if you want to get your public IP use a service like ipecho: http://ipecho.net/plain

Zarathustra
- 2,853
- 4
- 33
- 62
-
1
-
Thanks Zarathustra. I need it so I will try this service. Thanks once again. – yogesh Jun 26 '14 at 05:17
0
If you are building web application in JSP & wants to send client's public IP address to the server, you can use JavaScript with JSP to achieve this.
//JavaScript dynamically created to obtain CLIENT MACHINE'S IP ADDRESS
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://www.telize.com/jsonip?callback=DisplayIP";
document.getElementsByTagName("head")[0].appendChild(script);
//below given function returns CLIENT MACHINE'S IP ADDRESS to the text box
function DisplayIP(response)
{
document.getElementById("clientip").value = response.ip;
}
IP address will be stored in clientip & pass it to the server list you post a form & pass it to a servlet.

Smokey
- 1,857
- 6
- 33
- 63