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;
    }
}





目录
相关文章
|
7月前
|
Java 数据安全/隐私保护
response对象的转发和重定向
response对象的转发和重定向
61 0
|
2天前
|
数据采集 安全 定位技术
使用代理IP爬虫时数据不完整的原因探讨
在信息化时代,互联网成为生活的重要部分。使用HTTP代理爬取数据时,可能会遇到失败情况,如代理IP失效、速度慢、目标网站策略、请求频率过高、地理位置不当、网络连接问题、代理配置错误和目标网站内容变化等。解决方法包括更换代理IP、调整请求频率、检查配置及目标网站变化。
27 11
|
安全 应用服务中间件 Apache
目标URL存在http host头攻击漏洞
目标URL存在http host头攻击漏洞
1319 0
目标URL存在http host头攻击漏洞
|
15天前
|
Web App开发 安全 虚拟化
在单个IP地址下实现HTTP代理IP的高效使用
本文介绍了如何在单个窗口使用单个IP以及在多个窗口使用不同IP的方法,包括浏览器设置、使用虚拟机或容器、隐身模式、多浏览器和指纹浏览器等技术手段,并强调了控制IP频率、保证代理质量、注意安全性和法律合规的重要性。
36 8
Java中使用HttpRequest获取用户真实IP地址端口
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81357594 import javax.
1932 0
http数据包抓包解析
http数据包抓包解析
|
安全 网络安全
http代理ip服务器有哪些?代理服务器有什么作用?
http代理ip服务器有哪些?代理服务器有什么作用?
|
7月前
|
Python
pytho3 urllib urllib3 获取本地ip地址和mac地址发送post到指定http服务器
pytho3 urllib urllib3 获取本地ip地址和mac地址发送post到指定http服务器
66 0
|
7月前
|
Python
pytho2 urllib urllib2 获取本地ip地址和mac地址发送post到指定http服务器
pytho2 urllib urllib2 获取本地ip地址和mac地址发送post到指定http服务器
50 0
|
Web App开发 数据采集 安全
网络爬虫请求头中的Referer和User-Agent与代理IP的配合使用
网络爬虫请求头中的Referer和User-Agent与代理IP的配合使用