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
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.
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
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.
vixiii não te um exemplo de como você produz essa página
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.