HttpServletRequest抓取IP地址

简介: HttpServletRequest抓取IP地址

废话少说,上代码:


20210516212846118.png

public class IpUtil {
    public static String getIpAddr(HttpServletRequest request) {
        String ip = null;
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Real-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            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.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();
        }
        // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
        if (ip != null && ip.length() > 15) {
            if (ip.indexOf(',') > 0) {
                ip = ip.substring(0, ip.indexOf(','));
            }
        }
        return ip;
    }
}





目录
相关文章
|
5月前
|
Java 数据安全/隐私保护
response对象的转发和重定向
response对象的转发和重定向
38 0
|
安全 应用服务中间件 Apache
目标URL存在http host头攻击漏洞
目标URL存在http host头攻击漏洞
1237 0
目标URL存在http host头攻击漏洞
http数据包抓包解析
http数据包抓包解析
Java中使用HttpRequest获取用户真实IP地址端口
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81357594 import javax.
1883 0
|
5月前
|
Python
pytho3 urllib urllib3 获取本地ip地址和mac地址发送post到指定http服务器
pytho3 urllib urllib3 获取本地ip地址和mac地址发送post到指定http服务器
59 0
|
5月前
|
Python
pytho2 urllib urllib2 获取本地ip地址和mac地址发送post到指定http服务器
pytho2 urllib urllib2 获取本地ip地址和mac地址发送post到指定http服务器
39 0
|
5月前
|
XML 安全 搜索推荐
URL地址解析
URL地址解析
104 0
|
网络协议
使用tcpdump查看HTTP请求响应 详细信息 数据
使用tcpdump查看HTTP请求响应 详细信息 数据
518 0