1.使用java.net.InetAddress
InetAddress localhost = InetAddress. getLocalHost();//返回本地主机
String hostIp = localhost.getHostAddress();//返回本地主机IP
2.在WebService环境下:
用Axis得到来访者的IP:
import javax.servlet.http.HttpServletRequest;
import org.apache.axis.MessageContext;
import org.apache.axis.transport.http.HTTPConstants;
MessageContext mc = MessageContext. getCurrentContext();
HttpServletRequest request = (HttpServletRequest) mc.getProperty(
HTTPConstants. MC_HTTP_SERVLETREQUEST );
String hostIp = request.getRemoteAddr();
3.使用request得到本地端口:
request.getHeader("User-Agent"); //就是取得客户端的系统版本
request.getRemoteAddr(); //取得客户端的IP
request.getRemoteHost(); //取得客户端的主机名
request.getRemotePort(); //取得客户端的端口
request.getRemoteUser(); //取得客户端的用户
request.getLocalAddr(); //取得本地IP
request.getLocalPort(); //取得本地端口
4.httpServletRequest.getServerPort()与httpServletRequest.getLocalPort()的区别:
比如:http://localhost:8080/WebApp/,那么httpServletRequest.getServerPort()得到的将会是8080,而httpServletRequest.getLocalPort()得到的却不一定。