import java.io.*;
import java.net.*;
//
//
// GetHost.java
//
//
public class GetHost
{
public static void main (String arg[]){
if (arg.length>=1){
InetAddress[] Inet;
int i=1;
try{
for (i=1;i<=arg.length;i++){
Inet = InetAddress.getAllByName(arg[i-1]);
for (int j=1;j<=Inet.length;j++){
System.out.print(Inet[j-1].toString());
System.out.print("\n");
}
}
}
catch(UnknownHostException e){
System.out.print("Unknown HostName!"+arg[i-1]);
}
}
else{
System.out.print("Usage java/jview GetIp ");
}
}
} java GetHost www.sohu.com
import java.net.*;
//
//
// GetHost.java
//
//
public class GetHost
{
public static void main (String arg[]){
if (arg.length>=1){
InetAddress[] Inet;
int i=1;
try{
for (i=1;i<=arg.length;i++){
Inet = InetAddress.getAllByName(arg[i-1]);
for (int j=1;j<=Inet.length;j++){
System.out.print(Inet[j-1].toString());
System.out.print("\n");
}
}
}
catch(UnknownHostException e){
System.out.print("Unknown HostName!"+arg[i-1]);
}
}
else{
System.out.print("Usage java/jview GetIp ");
}
}
} java GetHost www.sohu.com
我的意思是:用URL而不是ByName!
我想:既然我们可以用浏览器访问URL,能不能利用本机所指定的DNS提供服务,来找到URL对应的IP呢?
根据上面修改的: try {
java.net.InetAddress[] Inet;
Inet = java.net.InetAddress.getAllByName("www.microsoft.com");
for (int j = 1; j <= Inet.length; j++) {
System.out.println(Inet[j - 1].toString());
}
}
catch (Exception e) {
System.out.print("无法识别的主机!" + "www.microsoft.com");
}
运行结果如下:www.microsoft.com/80.67.68.32
www.microsoft.com/80.67.68.33
www.microsoft.com/80.67.68.38
www.microsoft.com/80.67.68.24
www.microsoft.com/80.67.68.30
www.microsoft.com/80.67.68.31
java.net.UnknownHostException: www.microsoft.com: www.microsoft.com
而我用浏览器可以访问www.microsoft.com,我是在公司局域网上的,上面有防火墙,但www.microsoft.com它并没有限制,能不能帮我解决一下。