package dns1;
import java.io.IOException;
import java.net.*;
/**
* 查找IP地址
*/
public class Tao {
public static void main(String[] args) throws IOException {
//
String href = "http://www.taobao.com";
// 端口号
int port = parsePort(href);
// 域名
String host = parseHost(href);
// IP 地址
String address = parseIp(host);
//
System.out.println("host=" + host);
System.out.println("port=" + port);
System.out.println("address=" + address);
}
/**
* 获取端口号
*
* @param href 网址, ftp, http, nntp, ... 等等
* @return
* @throws IOException
*/
public static int parsePort(String href) throws IOException {
//
URL url = new URL(href);
// 端口号; 如果 href 中没有明确指定则为 -1
int port = url.getPort();
if (port < 0) {
// 获取对应协议的默认端口号
port = url.getDefaultPort();
}
return port;
}
/**
* 获取Host部分
*
* @param href 网址, ftp, http, nntp, ... 等等
* @return
* @throws IOException
*/
public static String parseHost(String href) throws IOException {
//
URL url = new URL(href);
// 获取 host 部分
String host = url.getHost();
return host;
}
/**
* 根据域名(host)解析IP地址
*
* @param host 域名
* @return
* @throws IOException
*/
public static String parseIp(String host) throws IOException {
// 根据域名查找IP地址
InetAddress.getAllByName(host);
InetAddress inetAddress = InetAddress.getByName(host);
// IP 地址
String address = inetAddress.getHostAddress();
return address;
}
}
host=www.taobao.com
port=80
address=223.87.182.88