2011-08-30 38 views

Trả lời

26

Bạn có thể làm một trong hai

// gets client (browser)'s hostname 
String host = request.getRemoteHost(); 

HOẶC

// get the server's domain name. 
String domain = new URL(request.getRequestURL().toString()).getHost(); 
+4

'(hoặc proxy) chủ getRemoteHost()' lợi nhuận của khách hàng. – BalusC

+0

@BalusC: Vâng, tôi đã nhận ra bây giờ. Đã cập nhật câu trả lời. :) – adarshr

+5

Tên máy khách chỉ hoạt động nếu Java nhận trực tiếp yêu cầu từ trình duyệt. Nếu Java đứng đằng sau một cái gì đó giống như F5 BIG-IP, bạn nên sử dụng request.getHeader ("X-FORWARDED-FOR") hoặc bất kỳ tiêu đề yêu cầu nào được truyền vào với tên máy khách để lấy tên máy khách thực sự. request.getRemoteHost() sẽ chỉ cung cấp cho bạn IP hoặc tên miền của cân bằng tải vì đó là những gì gửi các yêu cầu tới Java. – fourgablesguy

0

Hostname yêu cầu

InetAddress ip = InetAddress.getLocalHost(); 
String hostname = ip.getHostName(); 
out.print("Your current IP address : " + ip+"\n"); 
out.print("Your current Hostname : " + hostname); 
Các vấn đề liên quan