Java如何获取请求的ip 地址?

简介: Java如何获取请求的ip 地址

1:来上代码

@AnnotationForTest()
@RestController
@RequestMapping("/test")
public class TestController {
    @GetMapping("/test")
    public Result type(HttpServletRequest request){
        String ipAddress = getIpAddress(request);
        return new Result(ResultCode.SUCCESS,ipAddress);
    }
    public static String getIpAddress(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.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;
    }
}

2:测试结果

62f76cb3cef346728f372535e86cd760.png

目录
相关文章
|
22天前
|
Java
java原生发送http请求
java原生发送http请求
|
24天前
|
Java 开发者
java实现Http请求
java实现Http请求
14 0
|
5月前
|
XML JSON Java
Java实现post请求1688商品详情数据接口
Java实现post请求1688商品详情数据接口
54 0
|
5月前
|
存储
JavaWeb如何获取当前访问IP
JavaWeb如何获取当前访问IP
83 0
|
3月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
45 0
|
5天前
|
存储 Java 定位技术
【Java】根据IP地址获取省市
【Java】根据IP地址获取省市
18 1
|
11天前
|
存储 Java
Java动态转发代理IP的实现方法
Java动态转发代理IP的实现方法
28 11
|
12天前
|
安全 Java API
java借助代理ip,解决访问api频繁导致ip被禁的问题
java借助代理ip,解决访问api频繁导致ip被禁的问题
|
13天前
|
Java Python
设置代理ip——java
设置代理ip——java
|
14天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。