Próbuję utworzyć aplikację internetową Java (Servlet), której potrzebuję, aby uzyskać adres IP klienta.Jak uzyskać adres IP klienta w Javie HttpServletRequest
Proszę nie traktować tego jako duplikatu, ponieważ próbowałem wszystkich możliwych odpowiedzi, które są dostępne w stackoverflow.
Poniżej mój kod do tej pory:
1)
String ipAddress = request.getRemoteAddr();
W tym przypadku większość tomie pojawia się domyślny adres bramy '' (147.120.1.5). nie mój adres IP komputera (174.120.100.17).
2)
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
W tym przypadku większość tomie pojawia się domyślny adres bramy '' (147.120.1.5). nie mój adres IP komputera (174.120.100.17).
3)
InetAddress IP=InetAddress.getLocalHost();
System.out.println(IP.getHostAddress());
W tym przypadku dostałem adres serwera IP (147.120.20.1).
Mój adres IP w 147.120.100.17. Teraz nie wiem, jak uzyskać prawdziwy adres IP klienta. Proszę, odpowiedz.
Dziękuję bardzo.
Nie ma dokładny sposób, aby uzyskać adres IP klienta, chyba że klient wyraźnie przesyła ci to –
Jest nie jest sposobem na uzyskanie prawdziwego adresu IP klienta, co faktycznie pokazuje twój publiczny adres IP. –
możliwy duplikat [Czy możliwe jest dokładne określenie adresu IP klienta w serwletce java] (http://stackoverflow.com/questions/9326138/is-it-possible-to-accurately-determine-the-ip- adres-klienta-w-java-servle) – YoYo