axis2服务器端如何取得客户端的ip地址和mac地址?我现在用的都是http协议的,理论上应该可以的呀!
[code="java"]
/**
* 获取客户端IP地址,如调用方的IP,以便检查权限。
* 适用于axis发布的webservice
* @return
*/
public String getClientIpAxis() {
MessageContext mc = null;
HttpServletRequest request = null;
try {
mc = MessageContext.getCurrentMessageContext();
if (mc == null)
throw new Exception(“无法获取到MessageContext”);
request = (HttpServletRequest) mc
.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
System.out.println(“remote ip: ” + request.getRemoteAddr());
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return request.getRemoteAddr();
}
[/code]
另外,mac地址一般是很难获取到的。
兄弟,AXIS2可以获得ip地址,但是你要获取MAC地址,不是HTTP协议所能完成的事情,呵呵,就像火车上的人是不知道火车轮胎由哪个厂家造的。