java编程如何获取本地ip并显示在文本框中

java编程如何获取本地ip并显示在文本框中,第1张

jsp中:

request方法

客户端IP: requestgetRemoteAddr()

输出:1921680106

客户端主机名:requestgetRemoteHost()

输出:abc

requestgetHeader("Host")

输出:19216801:8080

Web服务器名字:requestgetServerName()

输出:19216801

服务器监听的端口:requestgetServerPort()

输出:8080

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

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

你不是web项目那么request是什么了?

你可以定义一个接口,接口中有setRequest方法,和getRemoteAddr方法

然后在你的主Servlet中将Request设置进去,

再通过getRemoteAddr方法取得IP

实现类中定义一个Request属性,通过setRequest方法设置,

getRemoteAddr方法调用requestgetRemoteAddr方法。

还是没有搞明白你到底要干什么为什么没有request~web项目到处都是request啊~

方法如下:

方法一,使用CMD命令:

public static String getLocalIPForCMD(){

StringBuilder sb = new StringBuilder();

String command = "cmdexe /c ipconfig | findstr IPv4";

try {

Process p = RuntimegetRuntime()exec(command);

BufferedReader br = new BufferedReader(new InputStreamReader(pgetInputStream()));

String line = null;

while((line = brreadLine()) != null){

line = linesubstring(linelastIndexOf(":")+2,linelength());

sbappend(line);

}

brclose();

pdestroy();

} catch (IOException e) {

eprintStackTrace();

}

return sbtoString();

}

方法二,使用Java方法:

public static String getLocalIPForJava(){

StringBuilder sb = new StringBuilder();

try {

Enumeration<NetworkInterface> en = NetworkInterfacegetNetworkInterfaces();

while (enhasMoreElements()) {

NetworkInterface intf = (NetworkInterface) ennextElement();

Enumeration<InetAddress> enumIpAddr = intfgetInetAddresses();

while (enumIpAddrhasMoreElements()) {

InetAddress inetAddress = (InetAddress) enumIpAddrnextElement();

if (!inetAddressisLoopbackAddress() && !inetAddressisLinkLocalAddress()

&& inetAddressisSiteLocalAddress()) {

sbappend(inetAddressgetHostAddress()toString()+"\n");

}

}

}

} catch (SocketException e) { }

return sbtoString();

}

以上就是关于java编程如何获取本地ip并显示在文本框中全部的内容,包括:java编程如何获取本地ip并显示在文本框中、在Linux系统下用Java语言获取客户端的IP地址,MAC地址,客户端的主机名称、在一个java接口中获取请求客户端的IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存