2014-11-17 4 views
0

요청을받은 URL/ip를 저장하고 싶습니다.봄에 URL을 보내는 요청을 받으십시오.

예를 들어 나는 (서버)가 IP 주소 176.15.14.3에서 요청을받습니다.

나는 176.15.14.3

내가 봄에 있다고 할 수있는 IP 주소를 얻으려면.

+1

체크 [이 (http://stackoverflow.com/questions/22877350/how-to-extract-ip-address-in-spring-mvc-controller-get-call)와 [이 (http://stackoverflow.com/questions/8926001/access-to-request-source-ip-in-spring-3-mvc-web-application) –

답변

1

HttpServletRequest 개체에 액세스 할 수 있다고 가정하면 원격 호스트의 ip를 문자열로 반환하는 response.getRemoteAddr()을 호출하면됩니다.

here

+1

불행히도 서버가 프록시 뒤에있는 경우 작동하지 않습니다. 대개의 경우. @ re350 대답은 실제로 완벽에 가깝습니다. –

2

X-전달-를 들어 값이 당신에게 클라이언트의 IP 주소를 제공하십시오. 봄에는 아래와 같은 IP를 얻을 수 있습니다.

String remoteAddress = request.getHeader("X-Forwarded-For");//request--HTTPServletRequest Object 
      if (remoteAddress == null) { 
       remoteAddress = request.getRemoteAddr(); 
      } 
+0

당신의 대답은 좋습니다. 그리고, theyre가 프록시를 사용하고 있다면, 맞습니다. 그러나 혼동을 피하기 위해 리버스 프록시를 사용하지 않는 한이 기능이 작동하지 않는다는 것을 분명히해야합니다. – zack6849

관련 문제