如何用Java和jsp获取服务器ip

本文介绍了在Java中如何获取服务端IP地址以及客户端IP地址的方法。对于服务端IP,可以通过InetAddress类的getLocalHost()方法结合getHostAddress()方法实现;而客户端IP则需要通过HttpServletRequest对象的getRemoteAddr()方法获取,同时考虑到代理服务器的情况,还需要检查请求头中的'X-Forwarded-For'和'X-Real-IP'字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java中:

1、获取服务端ip

String ip = InetAddress.getLocalHost().getHostAddress();

2、获取客户端本机ip

String remoteAddr = request.getRemoteAddr();  
String forwarded = request.getHeader("X-Forwarded-For");  
String realIp = request.getHeader("X-Real-IP");  
String ip = null;  
if (realIp == null) {  
    if (forwarded == null) {  
        ip = remoteAddr;  
    } else {  
        ip = remoteAddr + "/" + forwarded.split(",")[0];  
    }  
} else {  
    if (realIp.equals(forwarded)) {  
        ip = realIp;  
    } else {  
        if(forwarded != null){  
            forwarded = forwarded.split(",")[0];  
        }  
        ip = realIp + "/" + forwarded;  
    }  
}
jsp中:

<%@page import="java.net.InetAddress"%>
<%
String ip = InetAddress.getLocalHost().getHostAddress();
%>
输出<%=ip%>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值