/** * 修改header信息,key-value键值对儿加入到header中,如果存在,替换 * @param request * @param key * @param value */ public static void reflectRequestParam(HttpServletRequest request, String key, String value){ Class<? extends HttpServletRequest> requestClass = request.getClass(); try { Field request1 = requestClass.getDeclaredField("request"); request1.setAccessible(true); Object o = request1.get(request); Field coyoteRequest = o.getClass().getDeclaredField("coyoteRequest"); coyoteRequest.setAccessible(true); Object o1 = coyoteRequest.get(o); Field headers = o1.getClass().getDeclaredField("headers"); headers.setAccessible(true); MimeHeaders o2 = (MimeHeaders)headers.get(o1); if(!StringUtils.isEmpty(request.getHeader(key))){ o2.removeHeader(key); } o2.addValue(key).setString(value); } catch (Exception e) { e.printStackTrace(); } }
修改Header方法
最新推荐文章于 2024-08-07 19:49:29 发布