通过反射的方式修改request中header的内容


import org.apache.catalina.servlet4preview.http.HttpServletRequest;

/**
* 修改header信息,key-value键值对儿加入到header
* @param request
* @param key
* @param value
*/
private void updateHeaderInfo(HttpServletRequest request, String key, String value){
try {
RequestFacade requestFacade = (RequestFacade) request;
Field requestInfo = requestFacade.getClass().getDeclaredField("request");
requestInfo.setAccessible(true);
Object o = requestInfo.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);
o2.addValue(key).setString(value);
} catch (Exception e) {
e.printStackTrace();
}
}
posted @   小小的流星  阅读(376)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示