我在我的项目中编写了 Rest web 服务。web 服务调用可能来自不同的机器。所以我需要通过 REST web 服务找出 IP 地址。
从此链接 request.getRemoteAddr()使用它。
但我不能使用 getRemoteAddr()。因为我的请求和响应都是xml格式。
我在 REST 服务中使用了 post 方法。Tomcat 服务器。我以 xml 格式发送请求。
我怎样才能得到IP地址?
我在我的项目中编写了 Rest web 服务。web 服务调用可能来自不同的机器。所以我需要通过 REST web 服务找出 IP 地址。
从此链接 request.getRemoteAddr()使用它。
但我不能使用 getRemoteAddr()。因为我的请求和响应都是xml格式。
我在 REST 服务中使用了 post 方法。Tomcat 服务器。我以 xml 格式发送请求。
我怎样才能得到IP地址?
假设您使用的是 JAX-RS:
@GET
Produces("application/xlm")
public String getData(@Context HttpServletRequest request){
String ip = request.getRemoteAddr();
}
注释@Context
允许您注入
无论您的请求(在本例中为 xml)的格式(或内容类型)如何,您的请求都会提供 IP 地址,通过该地址提交 xml 有效负载(请求)。因此,检查您的请求是最好的方法。
即使您的请求是 xml/json 格式,您也将使用远程/客户端计算机地址,request.getRemoteAddr();
因为 IP 地址位于HTTP 请求标头中。