>Java >Java베이스 >자바에서 IP 주소를 얻는 방법

자바에서 IP 주소를 얻는 방법

尚
원래의
2019-12-27 14:27:117287검색

자바에서 IP 주소를 얻는 방법

java IP 주소를 얻는 방법:

/**
     * 通过HttpServletRequest返回IP地址
     *
     * @param request HttpServletRequest
     * @return ip String
     * @throws Exception
     */
    private static String getIpAddr(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();
            if (LOCAL_IP.equals(ip) || LOCAL_IP1.equals(ip)) {
                InetAddress inet = null;
                try {
                    inet = InetAddress.getLocalHost();
                    ip = inet.getHostAddress();
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }
            }
        }
        return ip;
    }

HttpServletRequest 객체는 클라이언트가 HTTP 프로토콜을 통해 서버에 액세스할 때를 나타냅니다. , HTTP 요청 헤더의 모든 정보는 이 객체에 캡슐화되어 있으며, 이 객체가 제공하는 메소드를 통해 클라이언트가 요청한 모든 정보를 얻을 수 있습니다.

Common 메소드:

getRequestURL 메소드는 클라이언트가 요청할 때 전체 URL을 반환합니다.

getRequestURI 메소드는 요청 라인의 리소스 이름 부분을 반환합니다.

getQueryString 메소드는 요청 라인의 매개변수 부분을 반환합니다.

getPathInfo 메소드는 요청 URL에 추가 경로 정보를 반환합니다. 추가 경로 정보는 서블릿 경로 뒤, "/"로 시작하는 쿼리 매개변수 앞의 요청 URL에 있는 콘텐츠입니다.

getRemoteAddr 메소드는 요청을 수행한 클라이언트의 IP 주소를 반환합니다.

getRemoteHost 메소드는 요청을 수행한 클라이언트의 전체 호스트 이름을 반환합니다.

getRemotePort 메소드는 클라이언트가 사용하는 네트워크 포트 번호를 반환합니다.

getLocalAddr 메소드는 웹 서버의 IP 주소를 반환합니다.

getLocalName 메소드는 웹 서버의 호스트 이름을 반환합니다.

자바에 대한 더 많은 지식은 java 기본 튜토리얼 칼럼을 주목해주세요.

위 내용은 자바에서 IP 주소를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.