Galera como faço UM CÓDIGO JAVA para ver o IP do meu computador(retornar uma String por exemplo). O da internet. Pq achei soh um exemplo que pega o da máquina. :?
Mto obrigado.
Galera como faço UM CÓDIGO JAVA para ver o IP do meu computador(retornar uma String por exemplo). O da internet. Pq achei soh um exemplo que pega o da máquina. :?
Mto obrigado.
Eu quero saber em JAVA !!
Pra vc ver, eu isso nos meus programas JAVA e descubro o meu ip facil facil 
Traduza plz …
E se naum for pra ajudar naum venha aloprar dando uma de bonzão.
Se vc eh bom d+ pra me explicar não precisa nem entrar aqui !
Obrigado
Based Upon
http://www.guj.com.br/java.tutorial.artigo.5.1.guj
[code]import java.net.URL;
import java.net.HttpURLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.StringBuffer;
import java.net.MalformedURLException;
import java.io.IOException;
public class A{
public static void main(String [] args) {
String urlString = "http://www.whatismyip.org";
try{
URL url = new URL(urlString);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
// seta o metodo
con.setRequestProperty("Request-Method", "GET");
// seta a variavel para ler o resultado
con.setDoInput(true);
con.setDoOutput(false);
// abre a conexão pra input
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
// le ate o final
StringBuffer newData = new StringBuffer(10000);
String s = "";
while (null != ((s = br.readLine()))) {
newData.append(s);
}
br.close();
// imprime o codigo resultante
System.out.println(new String(newData));
// imprime o numero do resultado
System.out.println(
"Resultado: "
+ con.getResponseCode()
+ "/"
+ con.getResponseMessage());
}catch(MalformedURLException me){
me.printStackTrace();
}catch(IOException ioe){
ioe.printStackTrace();
}
}
}[/code]
[quote] Se vc eh bom d+ pra me explicar não precisa nem entrar aqui ! [/quote] :twisted:
Esse código naum funcionou !
Lançou uma SocketExeception : Connection Reset
=/
depois de definir a urlString coloque:
System.setProperty("http.proxyHost", "ip.do.seu.proxy");
System.setProperty("http.proxyPort", "porta_do_proxy");
Senão… boa sorte… 
Caro peczenyj!
Estou a dias procurando este código.
Funcionou certinho… Valeu!!! 
Ae funcionou, obrigado !
Teria jeito de fazer isso usando a classe INET ? Eu achei um exemplo mas não funcionou. Só pega o ip local.
vc vai precisar acessar uma das suas interfaces de rede (sim vc pode ter mais de uma), geralmente se faz usando programas do sistema operacional como ifconfig ou algo assim.
Brigadaum ^^
isso aki lista todas as suas interfaces de rede e respectivos ips:
Enumeration e;
e = NetworkInterface.getNetworkInterfaces();
while (e.hasMoreElements()) {
System.out.println(e.nextElement());
}
Fiz uma classe simples pra pegar o endereço. pra pegar o endereço usado na Internet use o método busqueEnderecoInternet();
/*
* LocalizadorDeRede.java
*
* Created on 3 de Julho de 2006, 10:46
*
*/
package ipserver.logica;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
/**
* Classe que procura os Endereços IPV4 nas Interfaces locais da máquina
* @author daniel
*/
public class LocalizadorDeRede {
/**
* Cria uma nova Instancia de LocalizadorDeRede
*/
public LocalizadorDeRede() {
}
/**
* Pesquisa um endereço IPV4 em uma determinada interface de rede
* @param iface Interface que deve ser procurado (eth0, eth1, etc)
* @return Endereço IPV4 ou Null se não encontrado nenhum
*/
public InetAddress busqueEndereco(String iface) {
InetAddress add = null;
try {
NetworkInterface placa = NetworkInterface.getByName(iface);
add = this.recupereEnderecoIpv4(placa);
}
catch (SocketException e) {
System.out.println(e.getMessage());
}
return add;
}
/**
* Pesquisa um endereço IPV4 válido na Internet em todas as interfaces de rede.
* Será retornado o primeiro endereço encontrado
* @return Endereço IPV4 ou Null se não encontrado nenhum
*/
public InetAddress busqueEnderecoInternet() {
InetAddress add = null;
try {
Enumeration e = NetworkInterface.getNetworkInterfaces();
NetworkInterface ifaceAtual = null;
InetAddress addAtual = null;
while (e.hasMoreElements()) {
ifaceAtual = (NetworkInterface)e.nextElement();
addAtual = this.recupereEnderecoIpv4(ifaceAtual);
if (addAtual != null) {
if (!addAtual.isSiteLocalAddress() && !addAtual.isLoopbackAddress()) {
return addAtual;
}
}
}
}
catch (SocketException e) {
System.out.println(e.getMessage());
}
return add;
}
private InetAddress recupereEnderecoIpv4(NetworkInterface net) {
InetAddress add = null;
Enumeration e = net.getInetAddresses();
while (e.hasMoreElements()) {
try {
add = (Inet4Address)e.nextElement();
}
catch(ClassCastException exception) {}
}
return add;
}
}
E como eu trato o retorno em InetAddress para mostrar em uma String ?
Obrigado
Objetos da classe InetAddress possuem um método chamado getAddress()
http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html
O método getHostAddress() retorna uma String represantando o Ip.
(Acho que é isso, não lembro bem)
brigadaum
package JMF;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class TestePorsta {
public static void main(String[] args) {
try {
InetAddress net = Inet4Address.getByName("lmr037");
System.out.println(net.getHostAddress());
//System.out.println("Nome: " + Inet4Address.getHostAddress());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Nesse tópico do fórum JavaFree.org tem:
http://www.javafree.org/javabb/viewtopic.jbb?t=965
Acho que é o código mais simples que passaram por aqui.