获取接口执行时间和访问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的主要内容,如果未能解决你的问题,请参考以下文章