Sto cercando di sviluppare un'applicazione Web Java (Servlet) che è necessario per ottenere l'indirizzo IP dei client.Come ottenere l'indirizzo IP del client in Java HttpServletRequest
Si prega di non considerare questo come una domanda duplicata perché ho provato tutte le possibili risposte che sono disponibili nello stackoverflow.
seguito è il mio codice finora:
1)
String ipAddress = request.getRemoteAddr();
In questo caso la maggior parte del tomo ottengo la 'porta indirizzo predefinito' (147.120.1.5). non è l'indirizzo IP della mia macchina (174.120.100.17).
2)
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
In questo caso la maggior parte del tomo ottengo la 'porta indirizzo predefinito' (147.120.1.5). non è l'indirizzo IP della mia macchina (174.120.100.17).
3)
InetAddress IP=InetAddress.getLocalHost();
System.out.println(IP.getHostAddress());
In questo caso ho avuto l'indirizzo IP del server (147.120.20.1).
Il mio indirizzo IP in 147.120.100.17.Ora non so come ottenere l'indirizzo IP del client reale. Per favore, fai una risposta
Grazie mille.
Non c'è modo preciso per ottenere l'indirizzo IP client meno che il cliente in modo esplicito lo manda a voi –
c'è non è un modo per ottenere il vero indirizzo IP del client, quello che vedi effettivamente, è il tuo indirizzo IP pubblico. –
possibile duplicato di [E 'possibile determinare con precisione l'indirizzo IP di un client nel servlet java] (http://stackoverflow.com/questions/9326138/is-it-possibile-per-accuratamente-determinare-il-ip- address-of-a-client-in-java-servle) – YoYo