Como obter o ip público?

2 respostas
L

Pessoal, estou tentando obter o ip público do usuário que estará utilizando minha servlet

Dei umas pesquisadas e cheguei no seguinte código para a servlet:

String ipAddress = request.getHeader("x-forwarded-for");
        if (ipAddress == null) {
            ipAddress = request.getRemoteAddr();

        }

Eu tenho o ip público e estou fazendo o teste para ver se ele pega o ip correto mas sempre vem o ip errado. Alguém saberia me dizer o porque?

Agradeço desde já!

2 Respostas

L

O endereço IP que conectou é o request.getRemoteAddr(). Porém se usuário estiver usando proxy, a chamada a essa função retornará o endereço do Proxy. Neste caso vc verifica se existe o cabeçalho x-forwarded-for, sendo que no x-forwarded-for por haver vários endereços separados por vírgula.

L

Desculpa eu não entendi muito bem oque você falou, eu estou fazendo errado então?

Criado 3 de outubro de 2011
Ultima resposta 3 de out. de 2011
Respostas 2
Participantes 2