一、前言
由於專案中一個小的模組需要獲取客戶端的IP地址以保證安全呼叫webservice介面,專案中客戶端使用C#編寫,伺服器端使用Java編寫,伺服器端與客戶端採用Axis開發的WebService進行通訊。伺服器端維護IP白名單列表,只有IP地址在白名單中的客戶端才可以成功呼叫到介面,獲得服務。
二、程式碼清單
若要成功獲取客戶端IP地址,需要如下Jar包的支援。
servlet-api.jar
axis.jar
axis2-kernel-1.6.2.jar
獲取IP地址的具體程式碼如下:
import org.apache.axis.MessageContext; import org.apache.axis.transport.http.HTTPConstants; public class MyWebService { public String getIPs() throws IOException { MessageContext mc = MessageContext.getCurrentContext(); HttpServletRequest request = (HttpServletRequest)mc.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST); String clientIP = request.getRemoteAddr(); return clientIP; } }
具體的Jar下載連結如下:
http://download.csdn.net/detail/leesf456/9443876
一個小功能,希望對有需要的園友有所幫助。
三、總結
多思考,多查閱資料,總會有解決辦法,多記錄,利於自己,方便他人,謝謝各位園友觀看~