怎样获得本机通过宽带上网的IP地址,每次用宽带上网,都有一个变化的IP地址,怎样通过编程动态获得IP地址
解决方案 »
- SpringMVC做文件上传如何在工程里找到这个图片??
- 一个很大的数字求平方的的问题!!
- win7卸载jdk时windows installer安装包有问题
- 如何用Java实现DDA画线算法,逐点画线算法,BRESENHAM画线算法
- 服务器上的tomcat一两天都会自动关闭一次.是怎么回事???
- 如何用Java更改Windows的系统时间?
- 新手上路,
- 问一下一个java 输出格式的问题
- 请问如何在table的某一列加入进度条。。。急呀。、。。
- 如何改变JAVA程序的左上角图标?谢谢
- -Xlint:unchecked怎么用
- java如何调用sql过程以及接收sql中没指明output返回的参数值
public class GetIP
{
public static void main (String[] args) throws Exception
{
/*根据指定域名获取主机名*/
InetAddress myIP1=InetAddress.getByName("www.microsoft.com");
System.out.println(myIP1);
InetAddress myIP2=InetAddress.getLocalHost();
System.out.println(myIP2);
/*获取主机IP地址和名称*/
System.out.println(myIP1.getHostName());
System.out.println(myIP1.getHostAddress());
System.out.println(myIP2.getHostName());
System.out.println(myIP2.getHostAddress());
}
}
返回这个 InetAddress 对象的原始 IP 地址。
getAllByName(String)
给定主机名,确定该主机的所有 IP 地址。
getByName(String)
给定主机名,确定该主机的所有 IP 地址。
原代码如下,我调试过了把我机器的主机名和ip都读出来了.
import java.net.InetAddress;
public class NetIpAddress{
private InetAddress myHostIp=null;
public InetAddress getMyHostIp(){
try{
myHostIp= InetAddress.getLocalHost();
}catch(Exception ex){
ex.printStackTrace();
}
return myHostIp;
}
public static void main(String[] args){
NetIpAddress ip=new NetIpAddress();
System.out.print(ip.getMyHostIp());
}
}
public class GetLocalIp {
public static String getLocalHostIP(){
String ret = "";
try{
InetAddress addr = InetAddress.getLocalHost();
String hostName = addr.getHostName();
if(hostName.length()>0){
InetAddress[] addrs = InetAddress.getAllByName(hostName);
ret = addrs[1].getHostAddress();
}
}
catch(Exception ex){
ret = null;
}
return ret;
}
public static void main(String[] args) {
System.out.println( getLocalHostIP());
}
}可以得到互联网的IP
支持!!
ret = addrs[1].getHostAddress();写成addrs[0].
你写的是不是得到网络上所有主机名字为hostname的机器ip地址啊.我想问下这个网络上是局域网范围吗?