JavaWeb开发获取客户IP地址
时间:2019-10-25
本文章向大家介绍JavaWeb开发获取客户IP地址,主要包括JavaWeb开发获取客户IP地址使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11737637.html
本地调试如果使用的是localhost进行访问, 则会获取到 0:0:0:0:0:0:0:1, 将localhost修改成127.0.0.1或者你的本机ip地址再进行访问就可以看到真实地址了.
这种方法获取ip地址对nginx部署的服务也是有效果的, 对Apache和Weblogic应该也是可以的.
/** * 获取客户端真实ip地址 * @param request * @return */ public String getIp(HttpServletRequest request){ /** * 获取距离服务器最远的那个ip */ String ip = request.getHeader("x-forwarded-for"); if (ipIsNullOrEmpty(ip)){ /** * apache http服务代理加上的ip */ ip = request.getHeader("Proxy-Client-IP"); } if (ipIsNullOrEmpty(ip)){ /** * weblogic插件加上的头 */ ip = request.getHeader("WL-Proxy-Client-IP"); } if (ipIsNullOrEmpty(ip)){ /** * 真实ip */ ip = request.getHeader("X-Real-IP"); } if (ipIsNullOrEmpty(ip)){ /** * 最后真实的ip */ ip = request.getRemoteAddr(); } return ip; } /** * 当前ip是否为空 * @param ip * @return */ public boolean ipIsNullOrEmpty(String ip){ if(ip == null || ip.length()==0 || "unknown".equalsIgnoreCase(ip)){ return true; } return false; }
原文地址:https://www.cnblogs.com/fanerwei222/p/11737637.html
- 使用Spark MLlib给豆瓣用户推荐电影
- hadoop,hbase,hive,zookeeper版本整合兼容性最全,最详细说明【适用于任何版本】
- centos7:SSH公钥无密码认证
- Spark机器学习API之特征处理
- hadoop入门:第十章hadoop工具
- hive文件存储格式:SequenceFile系统总结
- openshift镜像构建-s2i环境变量设置
- Go Channel 源码剖析
- 再谈谈获取 goroutine id 的方法
- Golang方法和接口
- Go队列和堆栈
- openstack【juno】入门高级篇:为何你的实例ping不通外网【详述】
- Java 中的并发
- map按key和按value排序
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 零基础学小程序006---小程序获取用户信息用户昵称
- Android webview 内存泄露的解决方法
- Android编程实现全局获取Context及使用Intent传递对象的方法详解
- Android App更改应用的图标的实现方法
- 零基础学小程序007---小程序获取用户openid
- Android编程中光线传感器的调用方法详解
- Android编程使用sax解析xml数据的方法详解
- 微信小程序弹出用户授权弹窗,微信小程序引导用户授权,获取位置经纬度
- Android用RecyclerView实现动态添加本地图片
- Android利用RecyclerView编写聊天界面
- 5行代码实现微信消息推送,springboot实现微信推送,java微信推送
- Android控件ListView使用方法详解
- android ContentResolver获取手机电话号码和短信内容
- 借助云开发实现小程序列表页(包含json数据的请求和解析)
- Android shape 绘制图形的实例详解