`

获取request请求的ip地址

 
阅读更多
// 获取访问的ip地址
	public static String getRemoteHost(HttpServletRequest request) {
		// 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址

        String ip = request.getHeader("X-Forwarded-For");

        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(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();
            }
        } else if (ip.length() > 15) {
            String[] ips = ip.split(",");
            for (int index = 0; index < ips.length; index++) {
                String strIp = (String) ips[index];
                if (!("unknown".equalsIgnoreCase(strIp))) {
                    ip = strIp;
                    break;
                }
            }
        }
        return ip;
	}
分享到:
评论

相关推荐

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

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

    IpUtil工具类--通过request获取IP,通过IP获取地址

    IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等

    IP工具类,通过传入的request获取ip地址(JAVA)

    在Servlet中,我们通常使用`HttpServletRequest`对象来获取请求的相关信息,包括客户端的IP地址。以下是如何实现这一功能的代码示例: ```java import javax.servlet.http.HttpServletRequest; import javax....

    非request方式获取IP地址

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

    如何伪造IP 发送HTTP请求request

    代理服务器作为中间人,接收客户端的请求,然后使用其自己的IP地址向目标服务器转发请求,从而实现IP的伪装。 4. **编程实现**:在描述中提到的"VC+ASP",VC指的是Visual C++,ASP则指Active Server Pages,这是一...

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

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

    java 获取客户端ip mac地址

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

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

    然而,在使用如Apache、Squid等反向代理服务器的情况下,直接使用`request.getRemoteAddr()`获取到的往往是代理服务器自身的IP地址,而不是客户端的真实IP地址。 #### 获取客户端真实IP的基本原理 在不使用反向...

    获取用户真实IP地址,不使用request.getRemoteAddr()的原因是有可能用户使用了代理软件方式避免真实IP地址

    获取请求接口的真实ip 地址工具类。适合所有Java开发人员。针对接口的ip 地址的获取。

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

    然而,在实际应用场景中,客户端请求往往经过了多级代理(如Apache、Squid等),这使得直接使用`request.getRemoteAddr()`方法获取到的IP地址并不是客户端的真实IP,而是代理服务器的IP地址。 例如,在使用Apache或...

    UserAgentUtils-1.20.jar 通过request请求的User-Agent获取客户端的浏览器类型、操作系统类型、客户端ip地址等

    UserAgentUtils-1.20.jar 通过request请求的User-Agent获取客户端的浏览器类型、操作系统类型、客户端ip地址等的jar包

    Java获取客户端真实IP地址

    然而,在存在反向代理服务器的环境中,传统的`request.getRemoteAddr()`方法可能无法直接获取到客户端的真实IP地址。这是因为当请求经过反向代理(如Apache、Squid等)后,原始的IP地址会被代理服务器所替代,导致...

    Java利用Request请求获取IP地址的方法详解

    首先,我们需要了解的是,当用户通过代理服务器或者负载均衡设备访问Web服务时,直接通过`request.getRemoteAddr()`方法获取到的IP地址可能是代理服务器的IP,而不是用户的真实IP。因此,我们需要检查多个HTTP头部...

    idea,java获取ip地址

    当我们构建一个基于Servlet的Web应用程序时,有时需要获取访问用户的真实IP地址,这在处理用户请求、日志记录或者实现地理位置相关的功能时尤为关键。 Servlet是Java服务器端的一种组件,它扩展了Web服务器的功能,...

    asp.net获取访问者IP地址

    总结起来,ASP.NET中获取访问者IP地址的关键在于理解HTTP请求的工作原理和如何访问Request对象中的信息。通过C#的编程,我们可以灵活地处理不同情况下的IP地址获取,从而满足各种应用场景的需求。

    获取访问者真实的IP地址

    3. **处理 `REMOTE_ADDR`**:如果以上两种方式都无法获取到有效的IP地址,则直接使用`request.getRemoteAddr()`方法获取客户端IP地址。需要注意的是,这种方式获取的可能是代理服务器的IP地址而非客户端的真实IP地址...

    UserAgentUtils-1.20.jar 【用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、ip地址等信息】

    UserAgentUtils-1.20.jar 【用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、客户端ip地址等信息的jar插件】 ,非常好用,导入到项目的lib包中即可使用。 maven引用地址为: &lt;!-- ...

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

    这样,在服务器端,可以通过 `request.getHeader("x-forwarded-for")` 获取到伪造的 IP 地址。 需要注意的是,伪造 IP 地址并不是真正地修改了客户端的 IP 地址,而是通过修改 HTTP 请求头中的信息来欺骗服务器端。...

    C# request获取参数.docx

    例如,Request.ServerVariables["REMOTE_ADDR"] 可以获取客户端的 IP 地址。 七、结论 在 C# 中,获取请求参数可以使用 Request.Params、Request、Request.QueryString、Request.Form、Request.Cookies 和 Request...

    TP5 Request 请求对象

    最后,`Request`对象还允许我们获取服务器信息,如客户端IP地址: ```php $ip = $request-&gt;ip(); ``` 总的来说,ThinkPHP5的`Request`对象是处理HTTP请求的核心工具,它简化了数据获取和验证的过程,提高了开发...

Global site tag (gtag.js) - Google Analytics