converter um endereço IP para o nome da máquina
na minha aplicação java, se o utilizador entrar no IP, precisamos de mostrar o nome da máquina, se o nome da máquina for indicado, então precisamos de mostrar o IP da máquina.
por exemplo, se o Utilizador introduzir um endereço IP como 173.194.36.37
, a aplicação deverá mostrar google.com
e o verso do vice.
4 answers
Se estiver a codificar em Java, tente usar InetAddress
InetAddress addr = InetAddress.getByName("173.194.36.37");
String host = addr.getHostName();
System.out.println(host);
O que procuras é algo chamado DNS. Este projecto parece ser o que procuras.
O projecto que o SomeKittens lhe referiu parece um servidor DNS completo escrito em Java, que pode ser mais do que necessita. Dê uma olhada java.net.InetAddress
:
java.net.InetAddress.getByName("example.com").getHostAddress();
Em termos de nome de domínio, não existem utilitários construídos, no. You can get the name of a host (but not the domain name) by using getCanonicalHostName()
on InetAddress
- deve funcionar. A melhor resposta aqui ligada ao projetoDNS Java , que lhe dará o nome do domínio.
O código de exemplo para se ligar a, e obter o nome da máquina, um dos servidores do Google é indicado abaixo:
public class GetHostName {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getByAddress(new byte[]{74, 125,(byte) 227, 7});
System.out.println(address.getCanonicalHostName());
}
}