簡體   English   中英

將IP地址轉換為主機名

[英]converting an IP address to host name

在我的java應用程序中,如果用戶輸入IP,我們需要顯示主機名,如果給出主機名,那么我們需要顯示主機的IP。

例如,如果用戶輸入的IP地址如173.194.36.37應用程序應顯示google.com173.194.36.37

是否有可用於執行此操作的實用程序?

如果您使用Java編碼,請嘗試使用InetAddress

InetAddress addr = InetAddress.getByName("173.194.36.37");
String host = addr.getHostName();
System.out.println(host);

您正在尋找的東西叫做DNS 這個項目似乎是你正在尋找的。

SomeKittens項目提到你看起來像一個用Java編寫的完整DNS服務器,可能比你需要的更多。 看看java.net.InetAddress

java.net.InetAddress.getByName("example.com").getHostAddress();

在域名方面,沒有內置的實用程序,沒有。 可以通過在InetAddress上使用getCanonicalHostName() 獲取主機的名稱(但不是域名) - 這應該可行。 這里的最佳答案鏈接到DNS Java項目,它將為您提供域名。

下面給出了連接到Google服務器之一並從中獲取主機名的示例代碼:

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());
}
}
import java.net.*;
import java.util.*;
import java.io.*;

public class DNS

 {
    public static void main(String[] args) throws Exception

    {
        Scanner s = new Scanner(System.in);

        System.out.println("Enter the Domain`enter code here` Name");
        String domainName = s.nextLine();
        System.out.println("Domain into IP");
        System.out.println(InetAddress.getByName(domainName).getHostAddress());

        System.out.println("Enter the IP Name");
        String ipName = s.nextLine();
        System.out.println("IP into Domain");
        System.out.println(InetAddress.getByName(ipName).getHostName());        

    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM