<%!
public static void guessRealIp(HttpServletRequest req, HttpServletResponse resp) {
try {
resp.getWriter().write("X-Forwarded-For: " + req.getHeader("X-Forwarded-For") + "<br>");
resp.getWriter().write("Proxy-Client-IP: " + req.getHeader("Proxy-Client-IP") + "<br>");
resp.getWriter().write("WL-Proxy-Client-IP: " + req.getHeader("WL-Proxy-Client-IP") + "<br>");
resp.getWriter().write("getRemoteAddr: " + req.getRemoteAddr() + "<br>");
} catch (Exception e) {
e.printStackTrace(resp.getWriter());
}
}
public static String getRealIp(HttpServletRequest req, HttpServletResponse resp) {
String ip = req.getHeader("X-Forwarded-For");
if (ip != null) {
if (ip.indexOf(',') == -1) {
return ip;
}
return ip.split(",")[0];
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = req.getRemoteAddr();
}
return ip;
}
%><% guessRealIp(request, response) %>
java、servlet、jsp获取真实IP地址(代理、F5、WebLogic、Apache)
最新推荐文章于 2026-06-17 15:16:56 发布
本文提供了一个Java代码示例,用于解析并获取通过HTTP请求头传递的真实IP地址,包括X-Forwarded-For、Proxy-Client-IP、WL-Proxy-Client-IP和getRemoteAddr等。
&spm=1001.2101.3001.5002&articleId=84007627&d=1&t=3&u=2921ae7e40084b3b9bf477fbf9690096)
2223

被折叠的 条评论
为什么被折叠?



