6

我想根据程序中给定的 IP 地址查找主机名。是否有可能得到它,如果可以,请您提供代码。谢谢。

4

5 回答 5

11

是的,有可能。

import java.net.*;
public class HostName
{
  public static void main(String args[])
  {
    InetAddress inetAddress =InetAddress.getByName("127.64.84.2");//get the host Inet using ip
    System.out.println ("Host Name: "+ inetAddress.getHostName());//display the host
  }
}
于 2012-08-04T06:42:56.687 回答
4

像这样的事情应该指向正确的方向:

import java.net.InetAddress;
import java.net.UnknownHostException;

public class DNSLookup {
  public static void main(String args[]) {
    try {
      InetAddress host;
      if (args.length == 0) {
        host = InetAddress.getLocalHost();
      } else {
        host = InetAddress.getByName(args[0]);
      }
      System.out.println("Host:'" + host.getHostName()
          + "' has address: " + host.getHostAddress());

    } catch (UnknownHostException e) {
      e.printStackTrace();
    }
  }
}  

来源

于 2012-08-04T06:43:00.703 回答
0

您可以使用类getHostName()的方法InetAddress

于 2012-08-04T06:46:07.323 回答
0

试试这个....

System.out.println(InetAddress.getByName("IP_ADDR").getHostName());

于 2012-08-04T06:46:10.340 回答
0

嘿,我正在使用上述方法,但 getHostName() 方法没有返回给定 ip 的主机名。

见代码:

try {
//        This is ip of tutorialspoint.com    
           InetAddress addr2 = InetAddress.getByName("127.64.84.2");     
            op.setText("Host name is: "+addr2.getHostName());
        }   
        catch ( UnknownHostException e3) {  
            op.setText("Error: Host not found" + e3);
        } 
于 2015-01-17T09:29:58.460 回答