在Spring或Restlet Web应用程序中,如何获取客户端的域名?
我现在能做的只是获取客户端IP地址:
String clientIp = getRequest().getClientInfo().getAddress();
但是我需要获取客户端的域名。
主要是因为我正在制作proxy
来自GoDaddy (for example)
www CNAME
转发至proxy
应用xyz.com
或abc.com
,并将其转发到特定IP或其他域。 答案 0 :(得分:5)
你可以试试这个。
InetAddress addr = InetAddress.getByName(clientIp);
String host = addr.getHostName();
System.out.println(host);
答案 1 :(得分:1)
一般来说,我建议您查看传入请求的完整内容。检查提供的标题,看看它们是否包含您需要的数据。
使用Restlet,您可以查看请求#ClientInfo#UpStreamAddress方法。它负责转发请求提供的数据,并返回客户端的IP。 我不知道客户的主机域是什么意思。