[size=14]Essa foi uma das formas… pela qual consegui pegar o Ip… O Ip Local foi tranquilo… Mas o ip Externo que seria o dinâmico… Fiz essa Gambiarra ai…rs…[/size]
import java.net.HttpURLConnection;
import java.net.URL;
public class VerificaSite {
public String verificandoSite(){
String[] site = {"http://www.meuenderecoip.com", "http://meuip.datahouse.com.br",
"http://www.hlera.com.br/meu_ip/", "http://www.abusar.org.br",
"http://www.mostrarip.com.br"};
String siteValido = "";
for(int i = 0; i < site.length; i++){
try {
URL url = new URL(site[i]);
HttpURLConnection conexao = (HttpURLConnection) url.openConnection();
int codigo = conexao.getResponseCode();
if(codigo == 200){
siteValido = site[i];
}
} catch (Exception e) {
}
}
return siteValido;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PegandoIps {
String ipLocal = "";
String ipExterno = "";
String linhas = null;
Matcher m;
String ipMaquina(){
try{
InetAddress end = InetAddress.getLocalHost();
ipLocal = end.getHostAddress().toString();
URL url = new URL(new VerificaSite().verificandoSite());
HttpURLConnection conexao = (HttpURLConnection) url.openConnection();
BufferedReader buffer = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
Pattern pega = Pattern.compile("[0-9]{1,3}[.-]{1}[0-9]{1,3}[.-]{1}[0-9]{1,3}[.-]{1}[0-9]{1,3}");
while((linhas = buffer.readLine()) != null){
m = pega.matcher(linhas);
while(m.find()){
ipExterno = m.group();
}
}
buffer.close();
conexao.disconnect();
} catch(MalformedURLException e1){
System.exit(1);
}catch(IOException e2){
System.exit(1);
}
return "Meu IP Local: " + ipLocal + "\nMeu IP Externo: " + ipExterno.replace("-", ".");
}
}
public class IpTeste {
public static void main(String[] args) {
PegandoIps pegue = new PegandoIps();
System.out.println(pegue.ipMaquina());
}
}
[size=14]Funcionou… me retorna o Ip Local e o Ip Externo como esperado…[/size]
[size=14]Se alguém tiver outro jeito de se Pegar o IP externo… poste aqui… obrigado[/size]