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 중국어 웹사이트의 기타 관련 기사를 참조하세요!