• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Liutauras Vilda
  • Knute Snortum
  • Bear Bibeault
  • Devaka Cooray
  • Jeanne Boyarsky
  • Junilu Lacar
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
  • salvin francis
  • Tim Holloway
  • Piet Souris
  • Frits Walraven

IP address and location of client

Ranch Hand
Posts: 174
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I want to track the physical location of the client i.e The client who has logged in to my site I want to know their city/town and country.
I think there are 2 steps
1. Get the ip address of the machine
2. Let your app talk to some other add which can give you location of the client based on IP

Does not look like a big task considering google can pin point to the city from which request originated in google analytics.
But in java this look a difficult task.

I cannot get IP from servlet API like getRemoteAddress() because it returns IP of the proxy

In one of the postings in java ranch I found this java script code to get IP address which I think works (I am yet to test it completly)

Now once I get the API I need to call another service to send me location of this client (If free , nothing like it).

I am not sure how this can be achieved. I also did not find any google API's which could offer this service.

Any suggestions and help would be appreciated.
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
They probably don't (at least Google Maps doesn't). You will need to find a service out there that returns the geocode for you - based on IP - so you can find their location.\

I've used these guys for Google Maps geocode lookups and they're good:

No guarantee, of course
Ranch Hand
Posts: 2458
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If it returns the IP of a proxy, then you may need to check the x-forwarded-for request header. Public proxies will pass the client's IP address in there. If it isn't available either, then you're out of possibilities at the server side. Best what you can do is to run a piece of Java code at the client side which sniffs the local IP address and sends it to the server side. You can do that in form of a signed applet or webstart application which you embed in your JSP.
To do a great right, do a little wrong - shakepeare. twisted little ad:
Java file APIs (DOC, XLS, PDF, and many more)
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!