63 lines
1.9 KiB
Java
63 lines
1.9 KiB
Java
package com.jepsoninfo.util;
|
|
|
|
import java.util.Enumeration;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
public class NetUtils {
|
|
public static String getClientIp() {
|
|
printHttpHeader(((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest());
|
|
if (((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()
|
|
.getHeader("x-forwarded-for") == null) {
|
|
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()
|
|
.getRemoteAddr();
|
|
}
|
|
|
|
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()
|
|
.getHeader("x-forwarded-for");
|
|
}
|
|
|
|
public static String getUserAgent() {
|
|
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()
|
|
.getHeader("user-agent");
|
|
}
|
|
|
|
/**
|
|
* 获取编码字符集
|
|
*
|
|
* @param request
|
|
* @param response
|
|
* @return String
|
|
*/
|
|
|
|
public static String getCharEncoding(HttpServletRequest request, HttpServletResponse response) {
|
|
|
|
if (null == request || null == response) {
|
|
return "gbk";
|
|
}
|
|
|
|
String enc = request.getCharacterEncoding();
|
|
if (null == enc || "".equals(enc)) {
|
|
enc = response.getCharacterEncoding();
|
|
}
|
|
|
|
if (null == enc || "".equals(enc)) {
|
|
enc = "gbk";
|
|
}
|
|
|
|
return enc;
|
|
}
|
|
|
|
public static void printHttpHeader(HttpServletRequest request) {
|
|
Enumeration<String> headerNames = request.getHeaderNames();
|
|
while(headerNames.hasMoreElements()) {//判断是否还有下一个元素
|
|
String nextElement = headerNames.nextElement();//获取headerNames集合中的请求头
|
|
String header2 = request.getHeader(nextElement);//通过请求头得到请求内容
|
|
}
|
|
}
|
|
}
|