java里面如何获取服务器的ip地址,帮帮忙

java里面如何获取服务器的ip地址,帮帮忙,第1张

获取本机ip地址

InetAddress addr = InetAddressgetLocalHost();

ip=addrgetHostAddress()toString;

1、如果服务器如果没有采用反向代理,而且客户端没有用正向代理的话,那么可以获取客户端的真实IP地址requestgetRemoteAddr()

2、如果服务器如果没有采用反向代理,而且客户端有用正向代理的话,那么通过requestgetRemoteAddr()获取客户端的IP地址是客户端 的代理服务器的地址,并不是客户端的真实地址,

3、如果客户端使用的是多层代理的话,服务器获得的客户端地址是客户端的最外围代理服务器的地址如果服务器如果采用反向代理服务器,不管客户端采用的是何种方式访问服务器。

//获得客户端真实IP地址的方法一:

public String getRemortIP(>

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,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>

新建一个ServerSocket对象然后用accept()方法接受请求连接的Socket对象在调用获得的Socket对象的getInetAddress()方法获取InetAddress对象在调用InetAddress对象的getHostAddress方法来获取IP地址。

1、利用SystemgetProperty()函数获取当前路径

Systemoutprintln(SystemgetProperty("userdir"));//userdir指定了当前的路径

2、使用File提供的函数获取当前路径:

File directory = new File("");//设定为当前文件夹

try{

Systemoutprintln(directorygetCanonicalPath());//获取标准的路径

Systemoutprintln(directorygetAbsolutePath());//获取绝对路径

}catch(Exceptin e){}

FilegetCanonicalPath()和FilegetAbsolutePath()大约只是对于new File("")和new File("")两种路径有所区别。

# 对于getCanonicalPath()函数,“"就表示当前的文件夹,而”“则表示当前文件夹的上一级文件夹

# 对于getAbsolutePath()函数,则不管””、“”,返回当前的路径加上你在new File()时设定的路径

# 至于getPath()函数,得到的只是你在new File()时设定的路径

比如当前的路径为 C:/test :

File directory = new File("abc");

directorygetCanonicalPath(); //得到的是C:/test/abc

directorygetAbsolutePath(); //得到的是C:/test/abc

direcotrygetPath(); //得到的是abc

File directory = new File("");

directorygetCanonicalPath(); //得到的是C:/test

directorygetAbsolutePath(); //得到的是C:/test/

direcotrygetPath(); //得到的是

File directory = new File("");

directorygetCanonicalPath(); //得到的是C:/

directorygetAbsolutePath(); //得到的是C:/test/

direcotrygetPath(); //得到的是

另外:SystemgetProperty()中的字符串参数如下:

SystemgetProperty()参数大全

# javaversion Java Runtime Environment version

# javavendor Java Runtime Environment vendor

# javavendorurl Java vendor URL

# javahome Java installation directory

# javavmspecificationversion Java Virtual Machine specification version

# javavmspecificationvendor Java Virtual Machine specification vendor

# javavmspecificationname Java Virtual Machine specification name

# javavmversion Java Virtual Machine implementation version

# javavmvendor Java Virtual Machine implementation vendor

# javavmname Java Virtual Machine implementation name

# javaspecificationversion Java Runtime Environment specification version

# javaspecificationvendor Java Runtime Environment specification vendor

# javaspecificationname Java Runtime Environment specification name

# javaclassversion Java class format version number

# javaclasspath Java class path

# javalibrarypath List of paths to search when loading libraries

# javaiotmpdir Default temp file path

# javacompiler Name of JIT compiler to use

# javaextdirs Path of extension directory or directories

# osname Operating system name

# osarch Operating system architecture

# osversion Operating system version

# fileseparator File separator ("/" on UNIX)

# pathseparator Path separator (":" on UNIX)

# lineseparator Line separator ("/n" on UNIX)

# username User’s account name

# userhome User’s home directory

# userdir User’s current working directory

JAVA中获取路径:

1jsp中取得路径:

以工程名为TEST为例:

(1)得到包含工程名的当前页面全路径:requestgetRequestURI()

结果:/TEST/testjsp

(2)得到工程名:requestgetContextPath()

结果:/TEST

(3)得到当前页面所在目录下全名称:requestgetServletPath()

结果:如果页面在jsp目录下 /TEST/jsp/testjsp

(4)得到页面所在服务器的全路径:applicationgetRealPath("页面jsp")

结果:D:/resin/webapps/TEST/testjsp

(5)得到页面所在服务器的绝对路径:absPath=new javaioFile(applicationgetRealPath(requestgetRequestURI()))getParent();

结果:D:/resin/webapps/TEST

2在类中取得路径:

(1)类的绝对路径:ClassclassgetClass()getResource("/")getPath()

结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

(2)得到工程的路径:SystemgetProperty("userdir")

结果:D:/TEST

3在Servlet中取得路径:

(1)得到工程目录:requestgetSession()getServletContext()getRealPath("") 参数可具体到包名。

结果:E:/Tomcat/webapps/TEST

(2)得到IE地址栏地址:requestgetRequestURL()

结果:>

以上就是关于java里面如何获取服务器的ip地址,帮帮忙全部的内容,包括:java里面如何获取服务器的ip地址,帮帮忙、java如何获取用户真实的ip、java编程如何获取本地ip并显示在文本框中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存