JSF 응용 프로그램에서 클라이언트 정보를 얻으려고합니다. 하지만 IP 주소를 얻을 수 있습니다.클라이언트 컴퓨터 도메인 이름/MAC 가져 오기
나는 이것을 시도했다 :
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
System.err.println(request.getRemoteAddr());
System.err.println(request.getRemoteHost());
문제 request.getRemoteAddr()
와 request.getRemoteHost()
모두가 IP 주소를 얻을 수 있다는 것입니다.
클라이언트 도메인 이름이나 MAC 주소를 얻을 수있는 방법이 있습니까?
UPDATE (솔루션) : 도메인 이름을 원하는 경우
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) ipAddress = request.getRemoteAddr(); // IP
InetAddress addr = InetAddress.getByName(ipAddress); // DOMAIN NAME from IP
String host = addr.getHostName();
[javadoc] (http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#getRemoteHost())를 참조하십시오. 이름을 원하면 역방향 조회를 직접해야합니다. –