Java網(wǎng)絡(luò)編程――獲取IP
來源:程序員人生 發(fā)布時(shí)間:2015-05-28 09:03:44 閱讀次數(shù):2638次
在網(wǎng)絡(luò)編程中,為了訪問某臺(tái)主機(jī),我們必須知道其IP地址。在Java中,就將獲得IP地址的操作封裝成了1個(gè)類――InetAddress,通過該類很方便地獲得IP。
下面看看如何利用該類的方法來獲得本地主機(jī)的IP
import java.net.*;
class IPDemo
{
public static void main(String[] args) throws UnknownHostException
{
InetAddress ina = InetAddress.getLocalHost();
System.out.println(ina.toString());
}
}
該類沒有構(gòu)造方法,只能通過靜態(tài)方法getLocalHost來獲得該類的實(shí)例對(duì)象,在獲得主機(jī)時(shí)必須要聲明UnknownHostException異常。結(jié)果以下:

如果想要單獨(dú)打印主機(jī)名和主機(jī)地址,以下:
import java.net.*;
class IPDemo
{
public static void main(String[] args) throws UnknownHostException
{
InetAddress ina = InetAddress.getLocalHost();
String name = ina.getHostName();
String addr = ina.getHostAddress();
System.out.println(ina.toString());
System.out.println(name);
System.out.println(addr);
}
}
通過實(shí)例方法getHostName和getHostAddress就可以分別獲得到主機(jī)名和主機(jī)地址,結(jié)果以下:

這是獲得本地主機(jī),那如果要獲得非本地主機(jī)怎樣辦呢,繼續(xù)看吧!
import java.net.*;
class IPDemo
{
public static void main(String[] args) throws UnknownHostException
{
InetAddress ina = InetAddress.getByName("www.baidu.com");//也能夠直接用IP:180.97.33.107
String name = ina.getHostName();
String addr = ina.getHostAddress();
System.out.println(ina.toString());
System.out.println(name);
System.out.println(addr);
}
}
可以看到,只是利用了getByName方法,其余都是1樣的,該方法有1個(gè)參數(shù),參數(shù)為指定主機(jī)的IP或域名,結(jié)果以下:

固然,百度的IP應(yīng)當(dāng)不止1個(gè),想要獲得全部的,應(yīng)當(dāng)怎樣做呢?
import java.net.*;
class IPDemo
{
public static void main(String[] args) throws UnknownHostException
{
InetAddress[] inas = InetAddress.getAllByName("www.baidu.com");
for (int i = 0; i < inas.length; i++)
{
System.out.println(inas[i].toString());
}
}
}
看看結(jié)果:

類似的,還有:

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)