Obter o endereço Ip de um cliente em Java utilizando HTTPServletRequest

Postado em por Wolmir Cezer Garbin em Java | 89 Visualizações
Última atualização em:

Neste post vamos mostrar como obter o endereço ip do cliente web que está acessando sua aplicação utilizando 0 HTTPServletRequest

Obtendo o IP do cliente com Servlet

Estando dentro de um Servlet em java conseguimos isso, através de um método da request: request.getRemoteAddr().

O método getRemoteAddr() retorna uma String, contendo o endereço IP do cliente.

String ipAddress = request.getRemoteAddr();  

Da forma apresentada está correto, porém quando acessado por um cliente através de um servidor de proxy, o endereço IP retornado será do servidor.

Para corrigir esta situação, pode ser melhorado o código, como segue abaixo:

//is client behind something?
String ipAddress = request.getHeader("X-FORWARDED-FOR");  
if (ipAddress == null) {  
	ipAddress = request.getRemoteAddr();  
}

Dessa forma pode ser contornado o problema, primeiro tenta obter o IP do Header, caso não consiga obter da maneira tradicional obtem o endereConseguimos isso, através de um método da request: servletRequest.getRemoteAddr().

Obtendo o IP de Controller com Spring MVC

Para obter o IP de um controller com Spring MVC é praticamente da mesma forma, apenas temos que considerar obter o HTTPServletRequest a partir de uma método do controller.

Veja o exemplo:

@RequestMapping(value = "/contato", method = RequestMethod.GET)
public String getIp(HttpServletRequest request) {
	String ipAddress = request.getHeader("X-FORWARDED-FOR");
	if (ipAddress == null) {
		ipAddress = request.getRemoteAddr();
	}

	return "page";
}

Qualquer dúvida deixe ai nós comentários! Até a próxima.

Wolmir Cezer Garbin

Wolmir Cezer Garbin


Sou formado em Desenvolvimento de Sistemas para Internet pela faculdade Mater Dei e Pós graduado em Desenvolvimento de sistemas em Java pela UTFPR. Trabalho a mais de 9 anos com desenvolvimento em Java, Android e Web utilizando as principais tecnologias do mercado. Atuo como professor na faculdade Mater Dei, programador na Garbo Software e criador do Receitas de Código.

Ver mais

Posts relacionados


Code Conference

Esta é uma conferência de código realizada na cidade de Pato Branco para dissiminar tendências e informações sobre programação e novas tecnológias

Veja mais sobre o Code Conference

Publique seu post no Receitas de Código

Agora você pode publicar seu post no Receitas de Código e compartilhar seu conhecimento com muitas pessoas!

Quero publicar