首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请教怎么获得服务器ip

2014-01-03 
请问如何获得服务器iprequest.getRemoteAddr()好像不好用啊,上网查说是代理什么的我现在就想取得服务器ip

请问如何获得服务器ip
request.getRemoteAddr()

好像不好用啊,上网查说是代理什么的

我现在就想取得服务器ip 然后根据ip判断是连接的什么环境
比如ip是130.120.12.12 的时候 是开发环境 
请问怎么取IP呢
[解决办法]
我用的一个获取ip的笨方法就是访问获取ip的网页,例如ip138,然后再网页源码中截取自身的ip。
[解决办法]
那个API是根据host里配置的计算机名来取IP的,实际上如果你要绑定服务的话,是不用取IP的,直接绑定端口就好了,操作系统会把你的服务绑定到服务器上所有对外的网卡上
[解决办法]

public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null 
[解决办法]
 ip.length() == 0 
[解决办法]
 "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null 
[解决办法]
 ip.length() == 0 
[解决办法]
 "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null 
[解决办法]
 ip.length() == 0 
[解决办法]
 "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if (ip.equals("0:0:0:0:0:0:0:1")) {
ip = "localhost";
}
return ip;
}


获取ip是这样获取的
[解决办法]
可以参考一下我的博客
http://ygydaiaq-gmail-com.iteye.com/blog/1985820
[解决办法]
用request获取浏览器上ip,这是个本方法
[解决办法]
remoteaddr是访问浏览器所在的ip,不是服务器端ip。先说说你取服务器ip要做什么呢
[解决办法]
引用:
Quote: 引用:

public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null 
[解决办法]
 ip.length() == 0 
[解决办法]
 "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null 
[解决办法]
 ip.length() == 0 
[解决办法]
 "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null 
[解决办法]
 ip.length() == 0 
[解决办法]
 "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if (ip.equals("0:0:0:0:0:0:0:1")) {
ip = "localhost";
}
return ip;
}


获取ip是这样获取的




谢谢

不过为什么要多吃次getheader()呢
你看header头是不一样,是代理还是什么的

热点排行