利用反射,设置修改请求头内容
private void setHeader(HttpServletRequest request, String 要修改的内容) {
Class<? extends HttpServletRequest> requestClass = request.getClass();
try {
Field requestField = requestClass.getDeclaredField(“request”);
requestField.setAccessible(true);
Object requestObj = requestField.get(request);
Field coyoteRequestField = requestObj.getClass().getDeclaredField(“coyoteRequest”);
coyoteRequestField.setAccessible(true);
Object coyoteRequestObj = coyoteRequestField.get(requestObj);
Field headers = coyoteRequestObj.getClass().getDeclaredField(“headers”);
headers.setAccessible(true);
MimeHeaders mimeHeaders = (MimeHeaders) headers.get(coyoteRequestObj);
mimeHeaders.removeHeader(被修改的Key);
mimeHeaders.addValue(被修改的Key).setString(要修改的内容);
} catch (Exception e) {
}
}