java通过域名怎么获取本机ip

java通过域名怎么获取本机ip,第1张

代码亲测可用:

import javanetInetAddress;

import javanetUnknownHostException;

public class TestInetAddress {

InetAddress myIpAddress = null;

InetAddress[] myServer = null;

public static void main(String args[]) {

TestInetAddress address = new TestInetAddress();

Systemoutprintln("Your host IP is: " + addressgetLocalhostIP());

String domain = ">

public static void main(String[] args) { try { // 获取计算机名 String name = InetAddressgetLocalHost()getHostName(); // 获取IP地址 String ip = InetAddressgetLocalHost()getHostAddress(); Systemoutprintln("计算机名:"+name); Systemoutprintln("IP地址:"+ip); } catch (UnknownHostException e) { Systemoutprintln("异常:" + e); eprintStackTrace(); } }

是否可以解决您的问题?

public void PingAll() throws Exception{

//首先得到本机的IP,得到网段

InetAddress host = InetAddressgetLocalHost();

String hostAddress = hostgetHostAddress();

int k=0;

k=hostAddresslastIndexOf("");

String ss = hostAddresssubstring(0,k+1);

for(int i=1;i <=255;i++){ //对所有局域网Ip

String iip=ss+i;

Ping(iip);

}

在JSP里,获取客户端的IP地址的方法是:requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。

如果使用了反向代理软件,用requestgetRemoteAddr()方法获取的IP地址是:127001 或 1921681110,而并不是客户端的真实IP。

经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>

import javautil;

import javanet;public class getMyIP

{

public static void main(String[] args)

{

String IP = null;

String host = null;

try

{

InetAddress ia = InetAddressgetLocalHost();

host = iagetHostName();//获取计算机名字

IP= iagetHostAddress();//获取IP

}

catch(UnknownHostException e)

{

eprintStackTrace();

}

Systemoutprintln(host);

Systemoutprintln(IP);

}

}

下面有一篇文章,介绍若何读取物理网卡的地址 ,同样的

你可以用这个方法读取你所需要的本机IP地址

=======================================================

J2SE50新特性之ProcessBuilder

这个例子使用了J2SE50的ProcessBuilder类执行外部的程序,相对于 Runtimeexec ,它更方便,可以设置环境变量等。这里使用它在windows下读取物理网卡的地址

package comkuaffjdk5package;

import javaioIOException;

import javaioInputStream;

import javautilArrayList;

import javautilList;

public class ProcessBuilderShow

{

public static List getPhysicalAddress()

{

Process p = null;

//物理网卡列表

List address = new ArrayList();

try

{

//执行ipconfig /all命令

p = new ProcessBuilder("ipconfig", "/all")start();

}

catch (IOException e)

{

return address;

}

byte[] b = new byte[1024];

StringBuffer sb = new StringBuffer();

//读取进程输出值

InputStream in = pgetInputStream();

try

{

while (inread(b)>0)

{

sbappend(new String(b));

}

}

catch (IOException e1)

{

}

finally

{

try

{

inclose();

}

catch (IOException e2)

{

}

}

//以下分析输出值,得到物理网卡

String rtValue = sbsubstring(0);

int i = rtValueindexOf("Physical Address :");

while(i>0)

{

rtValue = rtValuesubstring(i + "Physical Address :"length());

addressadd(rtValuesubstring(0,18));

i = rtValueindexOf("Physical Address :");

}

return address;

}

public static void main(String[] args)

{

List address = ProcessBuilderShowgetPhysicalAddress();

for(String add:address)

{

Systemoutprintf("物理网卡地址:%s%n", add);

}

}

}

以上就是关于java通过域名怎么获取本机ip全部的内容,包括:java通过域名怎么获取本机ip、怎样用JAVA程序获取本机ip 、JAVA获取IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9766154.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存