request 获取访问IP
来源:互联网 发布:我的世界手机版js制作 编辑:程序博客网 时间:2024/06/06 00:08
转自:http://blog.csdn.net/leoz0802/article/details/6364565
0:0:0:0:0:0:0:1是ipv6的表现形式,对应ipv4来说相当于127.0.0.1,也就是本机
如果项目部署在本机win7系统,访问时是通过 localhost 来访问,
用java获取ip地址可能会出现该问题,这时获取的ip将是 0:0:0:0:0:0:0:1
要是机器在局域网中,访问时使用自己的ip访问,如 我的ip是 :192.168.123.156
访问url:http://192.168.123.156:8080/test
这时候请求会经过路由器转发,所以服务器获取的就是本机的局域网内ip,在java中获取的ip就是 192.168.123.156了
下面几个获取ip的方法:
public static String getIP(HttpServletRequest request) {String ip = request.getHeader("x-forwarded-for");if (!checkIP(ip)) {ip = request.getHeader("Proxy-Client-IP");}if (!checkIP(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if (!checkIP(ip)) {ip = request.getRemoteAddr();}return ip;}private static boolean checkIP(String ip) {if (ip == null || ip.length() == 0 || "unkown".equalsIgnoreCase(ip)|| ip.split(".").length != 4) {return false;}return true;}
可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?
答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。如:
X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
用户真实IP为: 192.168.1.110
- request 获取访问IP
- request获取客户端ip
- request获取真实ip
- request如何获取IP
- request获取IP
- request获取ip
- request获取客户端IP地址
- Request获取用户真实IP
- 根据Request获取客户端IP
- 根据Request获取客户端IP
- 根据request获取Ip地址
- Java中request获取IP
- java request获取IP地址
- 根据Request获取客户端IP
- 根据Request获取客户端IP
- 根据Request获取客户端IP
- 根据Request获取客户端IP
- Request获取用户真实IP
- jQuery BlockUI插件
- ymPrompt消息提示组件4.0版[2009-03-02]DEMO演示及使用简介
- Java+PHP整合=混血新宠儿
- jquery中手风琴效果实用源代码
- 【反射】基于反射的实际应用——任意对象数组的排序
- request 获取访问IP
- 建立索引时no segments* file found 的问题
- SendMessage 和 PostMessage 的区别
- CryENGINE Feathure
- 用了皮肤控件之后,报错:容量超出了最大容量 参数名:capacity
- jquery-dialog对话框的实现
- 超链接点击无效的实现方式
- 怎么使游戏按下home的时候进入暂停状态 然后再次进入点击按钮恢复?
- Android笔记