当前位置: 首页 > news >正文

java根据request获取ip

java根据request获取ip

     /**
     * 获得IP地址
     *
     * @param request
     * @return
     */
    public static String getIpAddr(HttpServletRequest request) {
        String ipAddress = request.getHeader("x-forwarded-for");
        if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("Proxy-Client-IP");
        }
        if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
            ipAddress = request.getRemoteAddr();
        }
        //对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
        if (ipAddress != null && ipAddress.length() > 15) {
            if (ipAddress.indexOf(",") > 0) {
                ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
            }
        }
        return ipAddress;
    }

相关文章:

  • external nofollow 的意思
  • 墨墨背单词 无限版本
  • 使用Oolong对class文件反编译的简单教程 for Win10
  • 查看java class文件的字节码
  • springMVC使用return redirect 而不是 return viewName的作用
  • mac meta键是什么
  • redis列表列出所有
  • sismember缩写
  • scard缩写
  • zrevrange缩写
  • 农业银行查询开户支行的方法
  • 深入剖析Tomcat 中英文 文字pdf+源代码
  • 正则表达式 匹配32位字符
  • 谷歌浏览器安装代理插件后Fiddler无法监听到
  • 只能采用某个特定的被适配类 解释
  • php的引用
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • javascript 哈希表
  • JavaScript中的对象个人分享
  • Java知识点总结(JavaIO-打印流)
  • js
  • mongo索引构建
  • MYSQL 的 IF 函数
  • ng6--错误信息小结(持续更新)
  • React16时代,该用什么姿势写 React ?
  • 阿里研究院入选中国企业智库系统影响力榜
  • 翻译--Thinking in React
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 怎么把视频里的音乐提取出来
  • Spring第一个helloWorld
  • 第二十章:异步和文件I/O.(二十三)
  • ​Spring Boot 分片上传文件
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (2020)Java后端开发----(面试题和笔试题)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (pojstep1.3.1)1017(构造法模拟)
  • (八十八)VFL语言初步 - 实现布局
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (十) 初识 Docker file
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)3D模板阴影原理
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .axf 转化 .bin文件 的方法
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET MVC之AOP
  • .NET 读取 JSON格式的数据
  • .NET单元测试
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .NET中winform传递参数至Url并获得返回值或文件