transferServiceJavaSqlite/src/main/java/com/jepsoninfo/util/NetUtils.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);//通过请求头得到请求内容
}
}
}