我们有个项目,需要获取客户端ip地址,之前使用request.getRemoteAddr(),在公司内网中可以获取到客户端的ip,但后来用了F5以后,获取的ip就成了F5的地址了,请问高手们有没有什么好的办法解决????????????
解决方案 »
- 在servlet的dopost方法里面这段代码是啥意思。。。求解答
- 怎么实现类似qq邮箱联系人那一栏的多个自动联想功能
- 利用正则表达式统计异常
- 当session过期后,HttpSessionBindingListener事件中valueUnbound方法没有触发问题
- 【分享】Jsp校园精品课程网源码分享(附配套视频讲解)
- 新手jsp问题 各位大侠帮看看
- 本人打算辞掉asp的工作 专心学习j2ee 3个月 每天10小时以上 有人帮助提点学习计划么
- 关于Struts 显示图片的问题
- 如何让一个静态页面中include几个jsp页面?
- Tomcat中的中文名文件的download问题
- 网站部署问题,隔了一夜再访问就出现jdbc begin faild的问题
- Struts2 文件下载出现的异常
String str=request.getRemoteAddr();if(str.equals("F5")){
跳转到主页面...让用户重新进入
}else{
正常执行...
}
给你上个代码,给我点分吧哈哈。。
import java.net.InetAddress;
import java.net.UnknownHostException; InetAddress inet = InetAddress.getLocalHost();
System.out.println("ip=" + inet.getHostAddress());你可以结贴了朋友!
这样试试。。
http://wen66.javaeye.com/blog/375148
request.getPathlz如果设了快捷键的话,可以找到,我在网吧,没法实验啊!
就是得到请求的真正地址而已!
http://topic.csdn.net/u/20100612/15/e0cac50d-8a6d-45f5-9f14-f109eb3ae4c5.html?16938
public static String getIP4(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();
}
return ip; }使用这种方式才可以获得真实的IP地址,
使用"request.getRemoteAddr()"只能获得上一次请求机器的地址。
在实际的系统使用时,你的项目服务器前端可以还会有一些防火墙、WEB服务器缓存等等,
如是使用request.getRemoteAddr()就只能获得防火墙或是WEB服务器的IP了。