获取接口执行时间和访问ip

Posted 一枚新人小菜鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取接口执行时间和访问ip相关的知识,希望对你有一定的参考价值。

1.先获取结果执行时间

 //开始时间
    long startTime=System.currentTimeMillis();
    //结束时间
    long endTime=System.currentTimeMillis();
    //结束时间-开始时间/1000=秒级
    float excTime=(float)(endTime-startTime)/1000;
    System.err.println("执行时间:"+excTime+"s");

2.获取访问接口ip地址

工具类 IpUtil

public class IpUtil 
    public static String getIpAddr(HttpServletRequest request) 
        String ip = request.getHeader("X-Real-IP");
        if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) 
            if(ip.contains("../")||ip.contains("..\\\\"))
                return "";
            
            return ip;
        
        ip = request.getHeader("X-Forwarded-For");
        if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) 
            // 多次反向代理后会有多个IP值,第一个为真实IP。
            int index = ip.indexOf(',');
            if (index != -1) 
                ip= ip.substring(0, index);
            
            if(ip.contains("../")||ip.contains("..\\\\"))
                return "";
            
            return ip;
         else 
            ip=request.getRemoteAddr();
            if(ip.contains("../")||ip.contains("..\\\\"))
                return "";
            
            if(ip.equals("0:0:0:0:0:0:0:1"))
                ip="127.0.0.1";
            
            return ip;
        

    

以上是关于获取接口执行时间和访问ip的主要内容,如果未能解决你的问题,请参考以下文章

获取接口执行时间和访问ip

获取接口执行时间和访问ip

获取访问接口的IP地址(绝对好用)

java 怎么写一个接口 让他返回服务器的动态IP地址和端口?

获取访问者ip及其所在城市

经过反向代理Server如何优雅的获取用户IP