Java 获取请求客户端IP地址
来源:互联网 发布:先锋编辑软件 编辑:程序博客网 时间:2024/05/21 04:19
import java.net.UnknownHostException; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.xml.ws.WebServiceContext; import javax.xml.ws.handler.MessageContext; @Resource private WebServiceContext wsContext; /** * 获取请求来的ips * @param request * @return */ public String getIpAddr() { String ipAddress = null; MessageContext mc = wsContext.getMessageContext(); HttpServletRequest request = (HttpServletRequest) (mc .get(mc.SERVLET_REQUEST)); 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(); //这里主要是获取本机的ip,可有可无 if (ipAddress.equals("127.0.0.1") || ipAddress.endsWith("0:0:0:0:0:0:1")) { // 根据网卡取本机配置的IP InetAddress inet = null; try { inet = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } ipAddress = inet.getHostAddress(); } } // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割 if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length() // = 15 if (ipAddress.indexOf(",") > 0) { ipAddress = ipAddress.substring(0, ipAddress.indexOf(",")); } } //或者这样也行,对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割 //return ipAddress!=null&&!"".equals(ipAddress)?ipAddress.split(",")[0]:null; return ipAddress; }
0 0
- Java 获取请求客户端的IP地址
- Java 获取请求客户端IP地址
- java获取客户端请求IP地址 获取公网ip
- java获取客户端请求IP地址 获取公网ip
- java获取客户端请求IP地址 获取公网ip
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- java webservice 服务器代码获取请求客户端的IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- 3月13日,Menu,每日20行。
- Android中json文件的生成和解析样例
- FPGA计算器实现心得
- Hadoop家族学习路线图
- python如何向sqlite3中插入中文字符串
- Java 获取请求客户端IP地址
- listen函数backlog参数
- verilog数值计算-有符号数和无符号数
- 树莓派(pi3)和Arduino之间用I2C总线通信
- (51nod)1283
- SPOJ Query on a tree
- python构建深度神经网络(DNN)
- Mac下Maven的使用
- Cadence Allegro学习之交互式布局与飞线处理