java获取客户端IP地址

痛定思痛。 2023-06-19 11:15 91阅读 0赞

创建IPHelper工具类

  1. import javax.servlet.http.HttpServletRequest;
  2. public class IPHelper {
  3. public static String getIP(HttpServletRequest request) {
  4. String ip = request.getHeader("x-forwarded-for");
  5. try {
  6. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  7. ip = request.getHeader("Proxy-Client-IP");
  8. }
  9. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  10. ip = request.getHeader("WL-Proxy-Client-IP");
  11. }
  12. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
  13. ip = request.getRemoteAddr();
  14. }
  15. } catch (Exception e) {
  16. e.printStackTrace();
  17. }
  18. return ip;
  19. }
  20. }

该类获取的是ip地址如127.0.0.1这样的格式,将该地址存入数据库使用数据库INET_ATON函数

inet_aton是一个改进的方法来将一个字符串IP地址转换为一个32位的网络序列IP地址。

例:

  1. sql = "INSERT INTO collect_pay_package(client_ip) VALUES(INET_ATON('"+ IPHelper.getIP(request)+"'))";

发表评论

表情:
评论列表 (有 0 条评论,91人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JAVA获取客户IP地址

    场景:需要服务端获取到客户端得ip,然后塞到请求参数中。 自己整理了下这两种获取客户端IP得方法。目前自己在使用得是第二种。 1. 第一种方法