12

プロジェクトでRest Webサービスを作成しました。Webサービスの呼び出しは別のマシンから行われる可能性があるため、REST Webサービスを介してIPアドレスを見つける必要があります。

このリンク request.getRemoteAddr()からこれを使用します。

しかし、getRemoteAddr() を使用できません。私のリクエストとレスポンスはxml形式だからです。

REST service.Tomcat サーバーで post メソッドを使用しました。リクエストを xml 形式で送信しました。

どうすればIPアドレスを取得できますか?

4

3 に答える 3

36

JAX-RS を使用していると仮定します。

@GET
Produces("application/xlm")
public String getData(@Context HttpServletRequest request){
   String ip = request.getRemoteAddr();
}

@Contextアノテーションを使用すると、インスタンスを挿入できます

  • javax.ws.rs.core.HttpHeaders、
  • javax.ws.rs.core.UriInfo、
  • javax.ws.rs.core.Request、
  • javax.servlet.HttpServletRequest、
  • javax.servlet.HttpServletResponse、
  • javax.servlet.ServletConfig、
  • javax.servlet.ServletContext、および
  • javax.ws.rs.core.SecurityContext オブジェクト。
于 2013-01-10T10:19:36.427 に答える
0

request.getRemoteAddr();リクエストがxml/json形式であっても、IPアドレスはHTTPリクエストヘッダーにあるため、を使用してリモート/クライアントマシンアドレスを取得します。

于 2013-01-10T10:08:32.513 に答える
0

要求 (この場合は xml) の形式 (またはコンテンツ タイプ) に関係なく、IP アドレスは、xml ペイロード (要求) が送信される要求と共に提供されます。したがって、リクエストを確認することが最善の方法です。

于 2013-01-10T09:56:18.577 に答える