Pegar ip do visitante da página

5 respostas
G

achei um código em java script mais ou menos assim

<SCRIPT LANGUAGE="JavaScript">
    var ip = <!--echo var="REMOTE_ADDR"-->;         
</SCRIPT>

essa variavel irei usar em outro lugar pq o site é em vb

mas ele tá me trazendo a mensagem de undefined

achei o código nesse site
http://javascript.internet.com/user-details/ip-address.html

mas não tô conseguindo pega o ip

5 Respostas

B

JavaScript não faz isso sem ajuda de um servidor.

Servlets Java podem usar o método getRemoteAddr de um request para pegar o endereço público do cliente.

G

má cara vejo tanto site por ai que consegue pega o ip real, não pode ser tão difícil só que eu não tô conseguindo

B

A requisição chega para o servidor e ele produz uma página com o IP, é bem simples. O que estou dizendo é que JavaScript, que roda somente no cliente, não tem essa capacidade. Ele precisa obter esse dado de algum lugar.

G

vixiii não te um exemplo de como você produz essa página

B

Uma Servlet que só imprime o IP recebido:

package br.com.guj.exemplos.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletIP extends HttpServlet 
{
   private static final String CONTENT_TYPE = "text/html; charset=ISO-8859-1";

   public void init(ServletConfig config) throws ServletException
   {
      super.init(config);
   }

   public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
   {
      response.setContentType(CONTENT_TYPE);
      PrintWriter out = response.getWriter();
      out.println(request.getRemoteAddr());
      out.close();
   }
}

Mapeamento do web.xml

<servlet>
    <servlet-name>ServletIP</servlet-name>
    <servlet-class>br.com.guj.exemplos.servlet.ServletIP</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletIp</servlet-name>
    <url-pattern>/ip</url-pattern>
  </servlet-mapping>

Carregando isso num servidor Java EE, mandando qqr requisição pra http://teu_servidor/contexto_do_conteiner/ip , ele retorna o IP da pessoa.

Criado 10 de junho de 2009
Ultima resposta 10 de jun. de 2009
Respostas 5
Participantes 2