은은하게 코드 뿌시기

접속 아이피 반환 예제 소스 본문

자바/실무 유용한 것!

접속 아이피 반환 예제 소스

은은하게미친자 2024. 4. 1. 13:27
728x90

 

접속 아이피 반환하는 예제 소스

 

public static String getRequestIp() throws UnknownHostException {
HttpServletRequest request = getRequest();
if (request == null) return null;

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.getHeader("X-Real-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-RealIP");
}

if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr(); 
    }

if (ip.equals("0:0:0:0:0:0:0:1") || ip.equals("127.0.0.1")) {
InetAddress addr = InetAddress.getLocalHost();
ip = addr.getHostAddress();

    }



if (ip.indexOf(",") > -1) {
return ip.split(",")[0].trim();
} else if (ip.indexOf(";") > -1) {
return ip.split(";")[0].trim();
}
return ip;
}
728x90

'자바 > 실무 유용한 것!' 카테고리의 다른 글

통화 포맷 / java 원단위/krw  (0) 2024.06.17
java integer string으로 쉽게바꾸기  (0) 2024.05.29
크롬 단축키  (0) 2024.05.14
name id  (0) 2024.04.30
CBD / SOA / MSA  (0) 2024.04.03
Comments