2009-08-11 90 views

Trả lời

6
<% 
    out.print(request.getRemoteAddr()); 
    out. print(request.getRemoteHost()); 
%> 
  • request.getRemoteAddr() trở lại ip địa chỉ của máy từ nơi bạn truy cập trang jsp.
  • request.getRemoteHost() trả về tên của máy chủ mà bạn đang truy cập trang jsp. Nếu bạn truy cập từ chính máy chủ, nó sẽ trả lại tên máy chủ .

Nếu khách hàng đặt sau proxy, ở trên là không hữu ích khi bạn sẽ nhận được IP của proxy họ đang ở phía sau, thay vì cố gắng:

<% 
    out.print(request.getHeader("x-forwarded-for")); 
%> 
+2

+1 cho yêu cầu.getHeader ("x-chuyển tiếp-cho") – firstthumb

+0

X-forwarded-for có luôn hoạt động không? Ngoài ra, tôi không nghĩ rằng nó sẽ giúp đỡ nếu khách hàng là ở phía bên kia của một thiết bị mà không dịch địa chỉ mạng. –

+1

Lưu ý rằng đây không phải là tiêu đề chuẩn RFC (tiền tố "x-"). – rodrigoap

6

phương pháp của bạn là chính xác. Tôi giả sử rằng bạn đang truy cập nó trên localhost và do đó nhấn giao diện loopback. Những con số mà bạn đang thấy là địa chỉ IP IPv6 của giao diện loopback của bạn.

Thử nhấn từ máy khác.

+0

Đây chính là thông tin tôi cần, cảm ơn. –

Các vấn đề liên quan