`
zysnba
  • 浏览: 183815 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

获取IP地址

 
阅读更多
/**
* 获取IP地址
* @Author  zysnba
* @param request
* @return  String
* @Date 2020年7月24日
*/
    public static String getIpAddr(HttpServletRequest request)
    {
        String ip = request.getHeader("X-Real-IP");
        if(!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
            return ip;
        }
        ip = request.getHeader("X-Forwarded-For");
        if(!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip))
        {
            int index = ip.indexOf(',');
            if(index != -1) {
                return ip.substring(0, index);
            } else {
                return ip;
            }
        }
        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.getHeader("HTTP_CLIENT_IP");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        return ip;
    }
分享到:
评论

相关推荐

    pb获取ip地址/mac地址

    标题中的"pb获取ip地址/mac地址"指的是在PowerBuilder(简称pb)环境下获取计算机的IP地址和MAC地址。PowerBuilder是一种流行的.NET和Java应用程序开发工具,尤其适合于创建数据库驱动的应用程序。在这个场景中,...

    java获取ip地址

    ### Java获取IP地址知识点解析 在本篇文章中,我们将深入探讨如何使用Java语言来获取IP地址。这是一项在网络编程中非常基础且重要的技能,能够帮助开发者了解客户端或服务器的网络位置信息。以下是对给定文件中的...

    故障处理-用户无法获取IP地址.pdf

    在处理网络故障时,用户无法获取IP地址是一个常见问题,尤其涉及到DHCP(Dynamic Host Configuration Protocol)客户端无法从DHCP服务器获取IP地址的情况。DHCP协议使得网络设备能够动态地从服务器获取IP地址配置...

    非request方式获取IP地址

    ### 非request方式获取IP地址 #### 1. 方法概述 本示例中的`getIp()`方法采用Java标准库中的`java.net.InetAddress`类来获取本地主机的IP地址。这种方法避免了使用HTTP请求或套接字连接所带来的复杂性,提供了一种...

    PB11.5获取IP地址及主机名

    在PowerBuilder 11.5(PB11.5)中获取IP地址和主机名是应用程序与网络通信的基础。这通常涉及到系统编程和网络API的使用。以下是对这个主题的详细解释。 首先,我们需要理解IP地址和主机名的概念。IP地址(Internet...

    idea,java获取ip地址

    2. **获取IP地址**:`HttpServletRequest`对象有一个`getRemoteAddr()`方法,它返回客户端的IP地址。然而,如果应用运行在反向代理服务器(如Nginx)后,这个方法可能会返回代理服务器的IP。因此,我们需要检查`X-...

    自动获取ip地址的BAT批处理

    本文将深入探讨标题为“自动获取ip地址的BAT批处理”的主题,以及如何利用批处理脚本来实现这个功能。 批处理文件通常使用扩展名为`.bat`,它包含了Windows操作系统下的DOS命令。自动获取IP地址的批处理脚本主要...

    ASP.NET 获取IP地址

    ### ASP.NET中获取IP地址及地理位置的详细解析 在当今互联网时代,获取用户IP地址及其地理位置成为许多应用程序的重要功能之一,特别是在网络安全、数据分析、个性化服务等领域。本文将深入探讨如何在ASP.NET应用中...

    C++获取IP地址

    在MFC中,我们可以创建一个对话框类(CDialog-derived class),并在其中添加按钮或控件用于触发获取IP地址的操作。以下是一个简单的步骤概述: 1. **设置项目**: 创建一个新的MFC对话框应用程序,选择“MFC ...

    php获取IP地址类库

    3. **注意事项**:解释在某些网络环境下(如NAT、代理服务器)获取IP地址的复杂性,以及如何处理这些情况。 4. **兼容性**:列出支持的PHP版本和其他依赖项,以及可能的环境限制。 5. **许可证信息**:提供类库的...

    西门子200Smart怎么获取IP地址和设置IP地址[归纳].pdf

    "西门子200Smart获取IP地址和设置IP地址的相关知识点" 获取IP地址和设置IP地址的重要性 在工业自动化领域,获取IP地址和设置IP地址是非常重要的步骤,它们可以确保PLC(Programmable Logic Controller)能够正确地...

    Qt获取IP地址、MAC地址等网卡信息,区分本地网卡、无线网卡和虚拟网卡

    在Unix-like系统中,可以使用`getifaddrs()`函数来遍历所有网络接口,并通过`ifa_addr`字段获取IP地址。在Windows中,可以使用`GetAdaptersAddresses()`函数,同样通过遍历结果来获取IP地址。IP地址通常有IPv4和...

    通过计算机获取IP地址

    注意,获取IP地址时可能需要管理员权限,因为访问网络信息可能受到操作系统安全策略的限制。此外,如果计算机连接了多个网络(如有线和无线网络),那么可能会得到多个IP地址。 总结来说,通过C#编程,我们可以利用...

    C++获取IP地址代码

    4. **提取IP地址**:从`hostEntry`或`addrList`结构中,可以获取IP地址。如果是`gethostbyname()`,可以从`hostEntry->h_addr_list`获取;如果是`getaddrinfo()`,则遍历`addrList`,从`ai_addr`字段提取。 ```cpp ...

    获取IP地址及主机名

    总之,获取IP地址和主机名是网络通信的基础操作,无论是开发、运维还是日常使用,都经常需要用到。通过了解并熟练掌握这些方法,可以更好地理解和管理网络连接。同时,公网IP和内网IP的区分对于理解网络架构和安全也...

    LabVIEW获取IP地址

    LabVIEW自动检测获取本机IP地址。 项目可直接运行~

    获取Ip地址代码

    在IT行业中,获取IP地址是一项基础且重要的任务,特别是在网络编程和服务器开发中。IP地址是互联网协议(IP)中的一个关键元素,用于唯一标识网络上的设备。在本文中,我们将详细探讨如何在不同的编程语言中获取IP...

    获取IP地址,MAC地址

    本项目“获取IP地址,MAC地址”利用MFC和`netapi32.lib`库来实现获取网络适配器的IP和MAC信息。下面我们将详细探讨这个过程中的关键知识点。 首先,我们需要了解`netapi32.lib`库。这是一个Windows API库,提供了对...

    JS获取ip地址归属地

    JS 获取 IP 地址归属地 在网络开发中,获取用户的 IP 地址归属地是非常有用的功能,例如在电商平台中可以根据用户的 IP 地址归属地进行物流信息的显示和管理。在这篇文章中,我们将使用 JS 调用第三方 API 获取 IP ...

Global site tag (gtag.js) - Google Analytics