在Java項目中,獲取客戶端的IP和端口是非常常見的需求。下面是一些可以實現此功能的代碼示例。
//獲取IP地址
String ipAddress = request.getHeader("x-forwarded-for");
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
ipAddress = request.getHeader("Proxy-Client-IP");
}
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
ipAddress = request.getHeader("WL-Proxy-Client-IP");
}
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
ipAddress = request.getRemoteAddr();
}
//獲取端口號
int port = request.getRemotePort();
以上代碼中,我們使用了一些常見的HTTP頭,比如x-forwarded-for、Proxy-Client-IP和WL-Proxy-Client-IP,來獲取客戶端IP地址。如果這些頭都不存在,我們就使用request的getRemoteAddr()方法來獲取IP地址。
另外,我們還使用了request的getRemotePort()方法,來獲取客戶端連接的端口號。
上一篇javascript之美
下一篇div三角形