簡體   English   中英

如何在java中使用RESTful Web服務獲取遠程/客戶端IP地址?

[英]How to get Remote / Client IP address using RESTful web service in java?

我在我的項目中編寫了Rest Web服務.Web服務調用可能來自不同的機器。所以我需要通過REST webservice找出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注釋允許您注入實例

  • 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對象。

無論請求的格式(或內容類型)如何(在本例中為xml)IP地址隨您的請求一起提供,xml有效負載(請求)通過該請求提交。 因此,檢查您的請求是最好的方法。

即使您的請求是xml / json格式,您也可以使用request.getRemoteAddr();獲取遠程/客戶機地址request.getRemoteAddr(); 因為IP地址位於HTTP請求標頭中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM