@RequestMapping(value = "/origin/test/", method = RequestMethod.GET, headers = "Accept=application/json")
public String getTest(@Context HttpServletRequest request) {
String Text = "Version - " + org.hibernate.Version.getVersionString();
return Text+request.getRemoteAddr()+"----"+request.getLocalAddr();
}
在上面的代码中,在服务器中运行时,它将服务器IP作为远程地址和本地地址返回。 但是,当我以本地主机身份运行时,我已经向其他笔记本电脑发出了请求,它会正确返回该笔记本电脑的IP。 但是问题是服务器没有返回发出请求的笔记本电脑的IP。
答案 0 :(得分:0)
请使用request.getRemoteAddr()再次更新它
@RequestMapping(value = "/origin/test/", method = RequestMethod.GET, headers = "Accept=application/json")
public String getTest(@Context HttpServletRequest request) {
String Text = "Version - " + org.hibernate.Version.getVersionString();
return Text+request.getRemoteAddr()+"----"+request.getRemoteAddr();
}
答案 1 :(得分:0)
getRemoteAddr()
会引起麻烦,如果客户端位于任何代理后面,那么您将获得代理的IP地址
当客户端使用DHCP时,IP地址可以并且将在会话期间更改。
getRemoteAddr():返回发送请求的客户端或最后一个代理的Internet协议(IP)地址。