`
sam406
  • 浏览: 59475 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java 获取请求ip

    博客分类:
  • java
 
阅读更多
public class IpUtil {

    public static String getIpAddrByRequest(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;

    }

    

     * @return 本机IP

     * @throws SocketException

     */

    public static String getRealIp() throws SocketException {

        String localip = null;// 本地IP,如果没有配置外网IP则返回它

        String netip = null;// 外网IP


41
        Enumeration<NetworkInterface> netInterfaces =

            NetworkInterface.getNetworkInterfaces();

        InetAddress ip = null;

        boolean finded = false;// 是否找到外网IP

        while (netInterfaces.hasMoreElements() && !finded) {

            NetworkInterface ni = netInterfaces.nextElement();

            Enumeration<InetAddress> address = ni.getInetAddresses();

            while (address.hasMoreElements()) {

                ip = address.nextElement();

                if (!ip.isSiteLocalAddress()

                        && !ip.isLoopbackAddress()

                        && ip.getHostAddress().indexOf(":") == -1) {// 外网IP

                    netip = ip.getHostAddress();

                    finded = true;

                    break;

                } else if (ip.isSiteLocalAddress()

                        && !ip.isLoopbackAddress()

                        && ip.getHostAddress().indexOf(":") == -1) {// 内网IP

                    localip = ip.getHostAddress();

                }

            }

        }

    

        if (netip != null && !"".equals(netip)) {

            return netip;

        } else {

            return localip;

        }

    }

    

}
分享到:
评论

相关推荐

    java 获取请求ip及请求的地址(省市)

    java调用淘宝ip库,获取登录ip,以及根据ip获取登录地址信息,省,市

    java获取公网IP

    总结来说,Java获取公网IP地址主要依赖于网络请求和第三方服务的配合。`ExternalIpAddressFetcher.java` 类提供了一个简单的方法来实现这个功能,通过向Amazon AWS提供的公共IP检查服务发起HTTP请求,并解析返回的IP...

    java中通过request获取IP以及MAC地址.java

    获取用户请求IP地址 根据IP地址获取mac地址

    java 获取客户端ip mac地址

    ### Java 获取客户端 IP 和 MAC 地址 在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端...

    java IP地址工具类,java IP地址获取,java获取客户端IP地址

    在Java编程中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个"java IP地址工具类"是为了解决这个问题而设计的。它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至...

    java获取客户端ip及mac地址

    ### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位或者进行安全验证等场景下。Java 提供了多种方式来获取客户端的 IP 地址,其中...

    java非常强的获取客户端真实IP的两种方法

    ### Java获取客户端真实IP的两种方法详解 #### 一、问题背景 在Web开发中,经常需要获取客户端的真实IP地址来进行一系列的操作,比如统计访问来源、进行地理定位、安全防护等。然而,在实际应用场景中,客户端请求...

    用Java来获取访问者真实的IP地址

    ### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅有助于网站统计分析,还可以用于安全控制、地域限制等功能。然而,在使用如Apache、Squid等反向代理服务器的情况下...

    Java代码测试IP是否为真实IP

    我们将基于提供的"Java代码测试IP是否为真实IP"这一主题,讨论相关技术点,以及如何构建一个完整的Java工程来实现这一功能。 首先,我们需要理解IP地址的基本概念。IP地址(Internet Protocol Address)是互联网上...

    java实现免费代理IP的获取方式 并实时校验代理IP是否有效

    Java 实现免费代理IP的获取方式 并动态实时校验是否有效,java文件项目内含有Jsoup的Jar包(Jsoup是加工过的,含请求),有2个主入口程序: 其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,...

    IP地址HTTP请求工具类

    获取本地IP地址,获取本地Host名称,获取Linux下的IP地址,获取用户真实IP地址,get/post请求 相应的工具类

    java 伪造http请求ip地址的方法

    在 Java 中伪造 HTTP 请求 IP 地址是指通过修改 HTTP 请求头中的 IP 地址信息,从而使得服务器端能够获取到伪造的 IP 地址。这种方法可以应用于各种需要伪造 IP 地址的场景,例如在第三方系统接口对接时,需要将调用...

    Java获取客户端真实IP地址

    ### Java获取客户端真实IP地址详解 在Web开发中,获取客户端的真实IP地址是一个常见的需求,尤其是在需要进行地理位置定位、安全审计、流量统计等场景下。然而,在存在反向代理服务器的环境中,传统的`request....

    java获取ip地址

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

    获取Ip地址的Java工具类

    通过该工具类可以获得请求的IP地址,适用于后台管理系统的信息统计。

    java根据IP获取城市代码

    总之,通过Java获取IP地址对应的城市代码涉及了数据库查询、网络请求等多个技术点。在实际开发中,我们需要根据项目需求、性能要求和成本考虑选择合适的实现方式。对于大型项目,可能会结合使用本地数据库和服务提供...

    java根据ip获取国家、地区名称,附带ip库

    在Java编程中,根据IP地址获取国家和地区名称是一项常见的需求,尤其在网站分析、网络安全或者地理定位服务中。实现这一功能通常需要借助IP数据库或API服务。本篇将详细讲解如何在Java中根据IP地址获取国家和地区...

    java获取外网ip

    ### Java 获取外网 IP 的实现方法 在现代网络应用中,获取本机的外网 IP 地址是一项常见的需求。例如,在服务器管理、网络安全、分布式系统等场景中,经常需要知道自己的公共 IP 地址。Java 作为一种广泛使用的编程...

    java实现根据ip地址获取地理位置的代码分享

    在Java编程中,有时我们需要根据用户的IP地址获取其所在地理位置的信息,这在网站统计、个性化推荐或者安全防护等方面都有重要作用。本篇文章将分享一个利用Java实现根据IP地址获取地理位置的简单示例,主要使用了QQ...

    java 动态换ip限制 ip频繁限制

    在提供的文件`crawlercity`中,可能包含了关于如何构建爬虫城市(可能是一个大规模的爬虫项目)的相关代码和配置,包括代理IP的获取、请求调度和异常处理等内容。通过对这些文件的学习和研究,我们可以深入了解如何...

Global site tag (gtag.js) - Google Analytics